Écrire en php dans fichier xml après listage pour playlist

Debbie
Invité n'ayant pas de compte PHPfrance

06 févr. 2007, 14:05

Bonjour,

Je voulais avoir votre avis sur "mon" code (me suis aidé un peu du net) et savoir si je partais dans la bonne direction, s'il me manque rien, si mon xml est bon etc etc etc...car je suis NOOB :roll:

La finalité est de créer une playlist intégrable sous Flash pour faire "MON" propre jukebox, le plus épuré que possible

Voici mon code ultra commenté j'en conviens :
<?php $xml = '<?xml version="1.0" encoding="iso-8859-1"?>'//entête 
.'<playlist>';//première balise avant boucle 
$rep = "zik";//répertoire des morceaux à lister
if (is_dir($rep)) {//si fichier est un répertoire
if ($dossier = opendir($rep)) {//ouverture du fichier
while (($fichier = readdir($dossier)) !== false) {//début de boucle
if ($fichier !="." && $fichier !=".."){//on bannit le . et le ..
$xml .= "<song>";//balise song
$xml .= $fichier;//chanson 
$xml .= "</song>";//fermeture balise song 
}//if qui bannit
}//while fermé
closedir($dossier);//fermeture du répertoire listé
}//second if
}//premier if
$xml .= "</playlist>";//fermeture balise 
$fp = fopen("playlist.xml", 'w+');//fichier déjà existant
fputs($fp, $xml);//on inscrit la totale 
fclose($fp);//on ferme le fichier playlist.xml
echo 'Export XML effectué !<br><a href="playlist.xml">Voir le fichier</a>';//aperçu 
?> 
Mon XML :

Code : Tout sélectionner

<?xml version="1.0" encoding="iso-8859-1" ?> - <playlist> <song>LedZeppelin_black_ dog.mp3</song> <song>LedZeppelin_Communication_Breakdown.mp3</song> <song>LedZeppelin_Custard_Pie.mp3</song> <song>LedZeppelin_how_many_more_times.mp3</song> </playlist>
Qu'en dites vous ? Toute critique sera la bienvenue...

Merci

Debbie

Ps : Oui je suis fan des Led Zep' ^^

Mammouth du PHP | 19672 Messages

06 févr. 2007, 15:37

Un seul avis : aère ton code, il est un peu illisible, comme ceci par exemple :
<?php
$xml = '<?xml version="1.0" encoding="iso-8859-1"?>'//entête 
.'<playlist>';//première balise avant boucle
$rep = "zik";//répertoire des morceaux à lister
/* si fichier est un répertoire */
if (is_dir($rep))
{
    /* ouverture du fichier */
    if ($dossier = opendir($rep))
    {
        /* début de boucle */
        while (($fichier = readdir($dossier)) !== false)
        {
            /* on bannit le . et le .. */
            if ($fichier !="." && $fichier !="..")
            {
                $xml .= "<song>";//balise song
                $xml .= $fichier;//chanson
                $xml .= "</song>";//fermeture balise song
            }//if qui bannit
        }//while fermé
        closedir($dossier);//fermeture du répertoire listé
    }//second if
}//premier if
/* fermeture balise */
$xml .= "</playlist>";

$fp = fopen("playlist.xml", 'w+');  //fichier déjà existant
fputs($fp, $xml);                   //on inscrit la totale
fclose($fp);                        //on ferme le fichier playlist.xml

echo 'Export XML effectué !<br><a href="playlist.xml">Voir le fichier</a>';//aperçu
?> 
N'oublie jamais un détail : en ce moment, le code est clair dans ta tête, tu retrouves rapidement le bon endroit si un problème survient. Mais dans six mois ou un an ou deux ans, tu voudras apporter une amélioration ou une modification, tu vas perdre un temps considérable à relire ton propre code d'abord pour le comprendre. Les commentaires, c'est très bien, mais du code bien indenté et aéré, c'est encore mieux ;)
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Invité
Invité n'ayant pas de compte PHPfrance

06 févr. 2007, 16:30

Merci Cyrano pour ta méthode de travail que je vais essayer d'adopter. Copier-coller ;) mais tu n'as donc trouvé que ça à redire à mon script. Ca veut dire que je suis reçue et que c'est tout est bon ?

Debbie (zou) :D