$dir="/usr/share/fortune/";
$ile_plikow=0;
$kat=opendir($dir);
while($plik=readdir($kat)){
if(is_file($dir."/".$plik) && strpos($plik,".dat")==false){
$pliki[$ile_plikow]=$plik;
$ile_plikow++;
}
}
closedir($kat);
$ktory=rand(0,$ile_plikow-1);
$file=$pliki[$ktory];
$plik=$dir."/".$file;
$plik=explode('%',implode('',file($plik)));
$max=count($plik);
$los=rand(1,$max-1);
$fortunka=$plik[$los];
print(nl2br(htmlspecialchars($fortunka)));
print("<br /><br />( ".$ktory."/".$ile_plikow."-".$file." | ".$los."/".$max." )");
Mam sobie taki kod jak powyżej (btw. nav mi go x lat temu skomponował), ma wylosowac plik a potem z tego pliku wylosowac fortunke. Co jakiś czas jednak nie pojawia się nic. Gdzie tu tkwi i jaki błąd? Poniżej budowa pliku z fortunkami, każda fortunka jest zakończona pojedynczym znakiem % w nowej linii:
Stirlitz szedł ulicami Berlina, coś jednak zdradzało w nim szpiega: może
czapka-uszanka, może walonki, a może ciągnący się za nim spadochron?
%
Stirlitz otrzymał telegram: "Jeśli nie zapłacicie za energię elektryczną,
wyłączymy wam radiostację".
%
- Stirlitz, co jest lepsze: radio czy gazeta? - zapytał podejrzliwie Müller.
- Gazeta, w radio nie zawiniesz śledzia - odparł spokojnie Stirlitz.
%