flex php lister le contenu d'un répertoire

(modifié le 14-10-08)

Voilà, suite à un post présentant le chargement dynamique d'images permettant d'alimenter un book, je me suis penché sur l'automatisation du listing de ces images.
Je voudrais donc créer un fichier xml via php, me listant toutes les images d'un dossier, on pourrait même supposer que le lien de ce dossier soit envoyé via actionscript.
Une fois ce dossier créé, on passe par flex pour récupérer les données qu'il nous faut.
On peut même ajouter à ce fichier xml les détails des photos...

J'ai mis le nom des variables en anglais pour vous habituer...



Le fichier php
$dirImage='images';

if($pointerDir=@opendir($dirImage)){

    $xml = new SimpleXMLElement("<?xml version='1.0' encoding='UTF-8'?><document></document>");
    $xml->addChild('nbFiles');
   
    $allFiles=$xml->addChild(allFiles);
    $i=0;
    readdir($pointerDir);
    readdir($pointerDir);
    while(false!==($fileName=readdir($pointerDir))){
            $file=$allFiles->addChild('file');
            $file->addChild('name',$fileName);
            $i++;
    }
    closedir($pointerDir);
    $xml->nbFiles=$i;
    file_put_contents('files.xml',$xml->asXML());
}else{
    echo "Problem with <b>$dirImage</b>";
}


Ajouté le 14/10/08
En fait on aurait pu se passer du fichier xml et récupérer directement une variable mais comme je m'entraines à traiter du xml, alors ce tuto est un bon moyen d'apprendre...



Solution pour lister le contenu d'un répertoire local avec air:

public function init():void{
    var files:File = File.desktopDirectory;
    
    if(files.exists)
    {
      var i:int;
      var liste:String = "Liste des fichiers du bureau: \n\n";
      var tab:Array = []
      var nb:int;
    
      tab = files.getDirectoryListing();
      nb  = tab.length;
    
      for (i = 0; i < nb; i++)  liste += tab[i].name + "\n";
      Alert.show(liste);
    }
    else
    {
      Alert.show("dossier inexistant");
    }   
}