"; $d = opendir($FortuneDir); $Nb=0; // récupère les noms des fichiers // (uniquement ceux sans points) while (false!==($file = readdir($d))) if (!strchr($file,".")) $FileNameNoDot[$Nb++] = $file; // selectionne un fichier au hasard $Number= mt_rand(0, $Nb-1); // ce fichier sera utilisé comme fichier par défaut $FileName=$FileNameNoDot[$Number]; closedir($d); } // vérifie si les fichier existent if (!file_exists("$FortuneDir$FileName")) die("$FortuneDir$FileName n'existe pas!!"); else if (!file_exists("$FortuneDir$FileName.dat")) die("$FortuneDir$FileName.dat n'existe pas!!"); else /******************** * gestion des citations * ********************/ { $fd=fopen("$FortuneDir$FileName.dat", "rb"); // saute le numéro de version (sans interet) $trash=fread($fd,4); // récupère le nb de citations $str_numstr=hexdec(bin2hex(fread($fd,4))); // on en prend une au hasard $Number= mt_rand(0, $str_numstr-1); // recherhe la position $trash=fread($fd, 12); $str_delim=fread($fd,4); for($i=0;$i<=$Number;$i++) $str_pointer=hexdec(bin2hex(fread($fd,4))); fclose($fd); $CptChar = 0; // recherche dans le fichier texte la citation correspondante $fd=fopen("$FortuneDir$FileName", "r"); fseek($fd, $str_pointer); // puis l'affiche $Char=fgets($fd, 1024); while (strcmp($Char,"%\n")!=0 && !feof($fd)) { if (feof($fd)) fseek($fd,0); echo "document.write(\""; echo rtrim($Char); echo "
\");\n"; $Char=fgets($fd, 100); } fclose($fd); } ?>