Forum de discussion
Forum « Flash et Shockwave » (archives)
Re: lire le contenu d'un dossier et l'afficher dans un swf
Envoyé: 21 octobre 2004, 7h56 par Oznog
Il y a deux façons "majeure" de récupérer des données en Flash.
La première fionctionne exacteemnt comme un navigateur. C'est à dire que Flash envoie une requète au serveur (avec ou sasn paramètre) exactement comme si tu tappais directeemnt l'adresse dasn la barre d'un navigateur.
Bien que la majorité des gens l'ignore et en doute même, le serveur retourne une chaîne de caractères, encore une fois exactement comme celle envoyé au navigateur. En fait le serveur n'y voie que du feu sasn aire la différence entere un navigateur et un Flash.
La seule différence est que le Flash ne comprend pas le HTML, ni le DHTML, ni le Javascript, encore moins le XHTML ou le CSS. Donc il faut t'arranger pour que le serveur retourne une chaîne compréhensible par le Flash et cette chaîne, elle aussi basé sur la communication http, doit impérativement être comme celle-ci :
maVar1delaChaine=TOUT ce que tu désire....&maVar2delaChaine=encore ce que tu désire&maVar3EtAinsideSuite=Toujours ce que tu désire...
Maintenant les valeurs comme "TOUT ce que tu désire" peut bien sûr contenir du HTML que Flash comprend, pas des tableau (table) ou des applet Java, les simples balises comme <p> et <b> etc. Et même le peu de CSS compatible.
C'est une méthode qui permet entre autre de passer par exemple un texte, une liste, ou plusieurs valeurs.
Dans ton cas tu pourrais générer la présentation (en paragraphe HTML) directeemtn en PHP que le Flash récupère simplement via une chaîne qu'il affiche sans autre manipulation.
Tu pourrais aussi classer l'information dasn une chaîne que le Flash devra extraire. Par exemple une variable par répertoire.
monRep1=fichier1.ext~fichier2.ext~fichier3.ext&monRep2=fichier1.ext~fichier2.ext&monRep3...
Dans ton cas c'est plus facile puisque tu n'as qu'un seul répertoire :
<? echo 'monRep1=' ?>
<? for($f=1;$f<=$maxtop;$f++) { ?>
<? echo $repA.$toplk[$f][2];?>~
<? } ?>
Dasn le Flash tu récupère avec le loadVars par exemple les valeur des variables monRep1, monRep2, monRep3 dans une boucle ET TU EXTRAIT PAR LA SUITE chaque fichier par un "split" sur le caractère ou séparateur que je conseil "tilte (~)" parcequ'il est compatible Mac/PC.
fichier1.ext~fichier2.ext~fichier3.ext
Ce qui te donne une matrice des fichiers d'un répertoire. Il suffit ensuite de construire la présentation en Flash.
ENFIN, c'était avant la seule méthode mais maintenant il en existe une autre beaucoup plus puissante. Au lieu de générer en PHP une chaîne HTTP conventionnel, tu peux générer un document XML. Bon ça demande plus de travail mais les possibilités par la suite sont proportionnelle.
Ton Flash alors utilise l'objet XML ( new XML()) pour récupérer ton fichier XML.
Ciao
Oznog
Réponses
|