PHP + Flash : récupérer nom de dossiers...

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : PHP + Flash : récupérer nom de dossiers...

Re: PHP + Flash : récupérer nom de dossiers...

par hacknours » 10 juil. 2011, 18:12

Bonjour à tous,

Je rencontre actuellement des difficultés à trier les noms de dossiers et sous dossiers dans l'ordre alphabétique afin de les renvoyer à Flash... :oops:

Voici un script PHP permettant de récupérer (dans l'ordre alphabétique) uniquement le nom des dossiers :
<?php
//le chemin d'accès $path devient relatif au dossier courant
$path = "../".basename(dirname(__FILE__));
//using the opendir function
$dir_handle = @opendir($path) or die("Unable to open $path");
$niveau = 1;
$niveaumax = 2;
list_dir($dir_handle,$path,1);

function list_dir($dir_handle,$path,$niveau)
{
    //running the while loop
	while (false !== ($file = readdir($dir_handle))) 
	{
		$dir =$path.'/'.$file;
		if(!in_array($file,array(".","..")) && is_dir($dir))
		{
			$files_array[] = $file;
		}
	}
	sort($files_array);
	foreach($files_array as $file) 
	{
			if ($file != '.' && $file !='..') 
			{
				$lala +=1;
				$renvoi ="nomDossier".$lala."=".substr($file,0)."?";
				$mauvais = array("&", "?");
				$bon = array("%26", "&");
				$renv = str_replace($mauvais, $bon, $renvoi);
				$rend = $rend.$renv;
            }
    }
    echo $rend."totalDossier=".$lala;
    //closing the directory
    closedir($dir_handle);
 }
?>
Ce code fonctionne bien... Cependant il ne récupère pas les nom des sous dossiers...

Voici un script PHP permettant de récupérer le nom des dossiers et des sous dossier, mais qui hélas ne les tris pas dans l'ordre alphabétique :
<?php
$path = "../".basename(dirname(__FILE__));
//using the opendir function
$dir_handle = @opendir($path) or die("Unable to open $path");
$niveau = 1;

list_dir($dir_handle,$path,1);

function list_dir($dir_handle,$path,$niveau)
{
	global $ret;
    while (false !== ($file = readdir($dir_handle))) {
        $dir =$path.'/'.$file;
        if(is_dir($dir) && $file != '.' && $file !='..' )
        {
            static $lala;
            if($niveau==1){
            	$lala+=1;
	            echo "nomDossier".$lala."=".$file."&";            }
            if($niveau==2){
            	$lulu+=1;
	            echo "souDossier".$lulu."duDossier".$lala."=".$file."&";
            }
            $handle = opendir($dir) or die("undable to open file $file");
            list_dir($handle, $dir,$niveau+1);
        }
    }
    if ($lala){ 
    	$ret = $lala;
    }
    //closing the directory
    closedir($dir_handle);
}
echo "totalDossier=".$ret;
?>
Auriez vous une idée pour pouvoir combiner ces deux scripts ?? :?:

Voici ce que j'ai essayer pour les combiner :
<?php
//le chemin d'accès $path devient relatif au dossier courant
$path = "../".basename(dirname(__FILE__));
//using the opendir function
$dir_handle = @opendir($path) or die("Unable to open $path");
$niveau = 1;
$niveaumax = 2;
list_dir($dir_handle,$path,1);

function list_dir($dir_handle,$path,$niveau)
{
    //running the while loop
	while (false !== ($file = readdir($dir_handle))) 
	{
		$dir =$path.'/'.$file;
		if(!in_array($file,array(".","..")) && is_dir($dir))
		{
			$files_array[] = $file;
		}
		if(is_dir($dir) && $file != '.' && $file !='..' )
        {
            $handle = opendir($dir) or die("undable to open file $file");
            list_dir($handle, $dir,$niveau+1);
        }
	}
	sort($files_array);
	foreach($files_array as $file) 
	{
		if ($file != '.' && $file !='..') 
		{
		 static $lala;
            if($niveau==1){
            	$lala+=1;
	            $renvoi ="nomDossier".$lala."=".$file."?";            }
            if($niveau==2){
            	$lulu+=1;
	            $renvoi ="souDossier".$lulu."duDossier".$lala."=".$file."?";
            }
				$mauvais = array("&", "?");
				$bon = array("%26", "&");
				$renv = str_replace($mauvais, $bon, $renvoi);
				$rend = $rend.$renv;
            }
    }
    echo $rend."totalDossier=".$lala;
    //closing the directory
    closedir($dir_handle);
 }
?>
Hélas cette technique me sort des erreurs du type : sort() expects parameter 1 to be array et Invalid argument supplied for foreach() :|
Auriez vous un conseil à me donner car je ne comprend pas :cry:

Re: PHP + Flash : récupérer nom de dossiers...

par hacknours » 04 mars 2010, 21:12

up pour mettre mon compte enregistré :)

PHP + Flash : récupérer nom de dossiers...

par hacknours » 04 mars 2010, 21:03

Bonjour à tous :)

Je cherche à récupérer le noms des dossiers présents dans 4 dossiers spécifiques connus. Dans mon animation Flash j'ai un menu déroulant qui déroule un bouton par dossier dans un des 4 dossier spécifique et affiche en intitulé du bouton le nom de ce même dossier...

Je suis pour le moment parvenu à générer une page HTML, à partir de php, contenant le texte que je voudrai en code actionscript dans mon anim flash...
voici mon code :
<?php 
//echo "<body bgcolor='#333333' link='#FFFFFF' vlink='#FFFFFF' alink='#FFFFFF'"; 
//define the path as relative 
$path = "../".basename(dirname(__FILE__)); 
//using the opendir function 
$dir_handle = @opendir($path) or die("Unable to open $path"); 

//echo "<table border='2' cellspacing='10'><tr>"; 

list_dir($dir_handle,$path); 

function list_dir($dir_handle,$path) { 
    echo "<br />"; 
    // print_r ($dir_handle); 
    //running the while loop 
    while (false !== ($file = readdir($dir_handle))) { 
        $dir =$path.'/'.$file; 
        //echo "on regarde : $dir<br />"; 
        if(is_dir($dir) && $file != '.' && $file !='..' ) { 
            $lala += 1; 
            //echo "ici il existe un dossier : $file<br />et son chemin d'acces est : <a href'$dir'>$dir</a><br />lala = $lala<br />"; 
            echo "Beauteno".$lala.".titre.text = "".$file."";"; 
            $handle = @opendir($dir) or die("undable to open file $file"); 
            list_dir($handle, $dir); 
        } 
    } 
    //closing the directory 
    closedir($dir_handle); 
} 
?>
Ceci m'affiche bien une liste :

Code : Tout sélectionner

Beauteno1.titre.text = "SUNSET"; Beauteno2.titre.text = "OPEN ME"; Beauteno3.titre.text = "YELLOW STONE"; Beauteno4.titre.text = "BEAUTE GLAM"; Beauteno5.titre.text = "BEAUTE LASHES"; etc...
hélas je ne comprend pas comment je peux l'intégrer dans mon anim flash... :cry:

une idée ?? :roll: