zufälliger text mit ausgelagertem text in *.txt-Dateien
Hallo, kann mir mal bitte jemand helfen????
ich hab diesen PHP-Code:
--------------------
<?
$random_text = array("Random Text 1",
"Random Text 2",
"Random Text 3",
"Random Text 4",
"Random Text 5");
srand(time());
$sizeof = count($random_text);
$random = (rand()%$sizeof);
print("$random_text[$random]");
?>
---------------------
und jetzt würd ich gerne diese Random Texte in externe *.txt-Dateien auslagern!!!
Wie mach ich das???
Timo
Antwort schreiben
Antwort 1 von DeluxeStyle vom 02.04.2019, 11:37 Options
wieso willst du den Code in eine .txt Datein auslagern?
Dann wird der Code ja nicht mehr ausgeführt und funktioniert daher nicht mehr
Antwort 2 von Supermax vom 02.04.2019, 11:41 Options
$zeilen = file('textdatei.txt');
$size = count($zeilen);
$welche = rand(0,$size-1);
$text = trim($zeilen[$welche]);
Die Funktion file() liest eine komplette Datei ein und gibt ein array zurück, wo jede Zeile ein Array-Element ist.
Das trim() in der letzten Zeile ist deswegen nötig, weil file() auch die Zeilenvorschübe mit einliest.
Antwort 3 von timoxy vom 02.04.2019, 17:30 Options
Zitat:
wieso willst du den Code in eine .txt Datein auslagern?
Dann wird der Code ja nicht mehr ausgeführt und funktioniert daher nicht mehr
ich hab hier ja 5 Random Texte und diese möchte ich in eine externe *.txt- Datei auslagern!!! der php code soll natürlich schon in meiner php datei eingebaut sein!!
---------------------------
@supermax
ich kapier des net genau was du meinst wo muss ich diese 4 zeilen code von dir einbauen und wie geht des dann, dass ich dann immer noch diese zufalls texte hab???
Timo
Antwort 4 von timoxy vom 02.04.2019, 17:37 Options
ich hab da noch etwas hinzuzufügen!!!
als randomtexte sollen witze erscheinen, diese befinden sich jeweils in einer seperaten *.txt-Datei. und sind dort einfach in eine Zeile geschrieben und noch etwas mit html-Befehlen formatiert (z.B. <b> oder <i>) sonst aber überhaupt nicht formatiert!!!
ich höffe das hilft weiter!!!! :-P
Timo
Antwort 5 von some1unknown vom 02.04.2019, 17:46 Options
wie sind den die einzelnen einträge getrennt?
kannst dann die datei einlesen und mit explode() auftrennen
Antwort 6 von Supermax vom 02.04.2019, 17:56 Options
Mein Code sollte deinen Code komplett ersetzen, nur das print() oder echo muß bleiben.
Antwort 7 von timoxy vom 04.04.2019, 10:29 Options
ok danke an alle!!! das problem hat sich gelößt!!! ich habs nur jetzt auf eine ganz andere art und weiße gemacht!!!
wen es interessiert!!!
<?php
$array=array();
$witzedir=opendir("witze");
$witzedirGelesen = readdir($witzedir);
$i=0;
while($witzedirGelesen = readdir($witzedir))
{
if($witzedirGelesen != '.' and $witzedirGelesen != '..'){
$array[$i]=$witzedirGelesen;
$i++;
}
}
readfile("witze/".$array[rand(0,sizeof($array)-1)]);
?>
diesen Code an der richtigen stelle in deine php-datei einfügen einen unterordner anlegen mit dem namen "
witze" und dort die einzelnen witze abspeichern (z.b. "
witz01.txt", "
witz02.txt", "
witz03.txt" usw...)
danke nochmal an alle die mir geholfen haben!!!