Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

LIRE FICHIER MIDI


Information sur la source



Description

Permet de jouer un fichier MIDI de manière aléatoire contenu dans un répertoire ("midi" par défaut) au chargement d'une page, fonctionne avec Internet Explorer et Netscape.
 

Source

  • <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>
<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>

Commentaires et avis

signaler à un administrateur
Commentaire de neigedhiver le 22/11/2007 16:31:19

Salut,

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 ;)

signaler à un administrateur
Commentaire de codefalse le 22/11/2007 22:38:14 administrateur CS

Pour faire le directoryIterator, j'avais adapté cette classe pour du php4 (au cas ou).
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 !

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Midi se jouant pendant chargement de page sans frames [ par relizwork ] pliiiizzzzz g besoin d'aide kk'un peut me dire comment de laisser une midi se jouer pendant que la page se charge sans frame !!! paske g vu des sites son aléatoire en chargement de page [ par pyranhaz ] s@lut,je cherche un script php qui pourrait gérer des sons audio en les présentant de façon aléatoire à chaque chargement de page...La plupart des for test de flux audio [ par Kivlov ] Bonjour à tous !je vous explique le problème :j'ai dans une base de donnée des informations sur des webradios (tous des flux ogg), et j'ai un champ "o Editeur midi [ par Teclis01 ] Voil&#224; en fait je me posais la question s'il etait possible d'editer un fichier midi en php et si cela existait dejaMerci d'avance --------------- lecteur multimedia (video/audio) qui lis un dossier [ par moveyourfeet79 ] bonjour,j'ouvre mon propre site d'&#233;lection (miss/mister/couples)j'aimerais permettres aux inscrit(e)s d'y mettre leurs vid&#233;os. Pour &#233;vi Extraire un morceau d'un fichier audio (mp3 ou wav) [ par rastacouair ] Bonjour,J'ai un fichier audio (mp3 ou wav) et je voudrais extraire un morceau de ce fichier (morceau d&#233;fini par un temps de d&#233;but et un temp Streaming audio [ par mo_de_lyon ] SOS je cherche &#224; r&#233;aliser du streaming audio&nbsp;. Ce que je veux r&#233;aliser au fait, c'est un petit site ou l'on puisse &#233;couter gr Cours audio gratuits - A vous de réagir. [ par lemouix ] Bonjour,Je propose des cours gratuits en ligne et ce sur différents sujets. Il y a pour le moment 7 élèves inscris et j'attend un peu plus de personne Webcam entre 2 personnes (+ audio) [ par jmobylette ] Bonjour,je suis à la recherche d'un système permettant d'effectuer une conversation par webcam (avec son et pourquoi pas avec messagerie instantanée) affichage des vidéos et audio sur mon site [ par saif1982 ] Bonjour, Je suis à la recherche d'un script PHP permettant d'afficher des vidéos et des audio sur mon site web (par catégorie,  ...  ). Merci de


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,406 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.