Soyez le premier à donner votre avis sur cette source.
Snippet vu 9 680 fois - Téléchargée 18 fois
<html> <head> <title>title> </head> <?php $repertoire='./midi/'; // Nom du répertoire contenant les fichiers midi $compteur=0; // Initialisation du compteur de fichier midi $handle=opendir($repertoire); // Ouverture du répertoire. while ($fichier = readdir($handle)) // Lecture de tous les fichiers du repertoires. { if (strlen($fichier)>3) // On ne lit que les fichiers de plus de 3 caracteres. {$extension= strtolower(substr( strrchr( $fichier, "." ), 1 )); // On recupère l'extension du fichier if ($extension=="mid") // Seule les fichiers ayant une extension .mid { $compteur++; // sont des fichiers midi :)) $fichmidi[$compteur]=$fichier; } } } closedir($handle); if ($compteur>0) // Avons-nous au moins un fichier ?? {srand((double)microtime()*1000000); // Si oui, on en prends un au hasard. $aleatoire=rand(1,$compteur); if (ereg("MSIE", $HTTP_USER_AGENT)) // L'ecplorateur est-il Internet explorer ?? { echo "<bgsound src='$repertoire$fichmidi[$aleatoire]' LOOP=INFINITE>";} // Si oui instruction miracle IE else { echo "<EMBED src='$repertoire$fichmidi[$aleatoire]' AUTOSTART=true HIDDEN=true loop=true></EMBED>";} // Si non, instruction miracle Netscape. } ?> </body></html>
22 nov. 2007 à 22:38
Si ca t'interesse, elle est là :
http://www.phpcs.com/codes/CLASSE-DIRECTORYITERATOR-PHP4_42884.aspx
Et c'est vrai que ca te facilite le travail énormément !
22 nov. 2007 à 16:31
srand peut être avantageusement remplacée par mt_srand
Par ailleurs, il est dit dans la doc :
"Note: Depuis PHP 4.2.0, vous n'avez plus besoin d'initialiser le générateur de nombres aléatoires avec srand() ou mt_srand() car c'est fait automatiquement."
Donc à moins d'avoir une version obsolète de php, l'initialisation est inutile, que ce soit avec srand() ou mt_srand()
En HTML conforme aux recommandations du W3C :
- les noms des balises sont en minuscule
- les attributs doivent être entourés de guillemets doubles et non simples
Et puis avec des itérateurs en php5 ce serait plus propre et plus court. Un exemple ici :
http://www.phpcs.com/infomsg_LISTER-DOSSIER_1038411.aspx
Mais si tu tiens à utiliser opendir() et readdir(), autant faire ça correctement et proprement :
http://fr3.php.net/manual/fr/function.readdir.php#id2709260
Pour récupérer l'extension, une petite expression régulière peut améliorer le traitement, plutôt que la longue suite de fonctions que tu utilises :
$ext = preg_replace('`.*\.([^\.]*)$`', '$1', $fichier);
L'explication de comment ça marche se trouve ici :
http://www.phpcs.com/infomsg_CHANGER-NOM-FICHIER-CONTIENT-VARIABLE-AVANT-POINT_1037319.aspx
Encore un détail... Dans ton code, tu fermes la balises body, mais tu ne l'as pas ouverte ;)
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.