Arbo php code pas top
Résolu
magicshark
Messages postés
402
Date d'inscription
Statut
Membre
Dernière intervention
-
magicshark Messages postés 402 Date d'inscription Statut Membre Dernière intervention -
magicshark Messages postés 402 Date d'inscription Statut Membre Dernière intervention -
Bonjours,
j'essaye de faire une arborescence en php mais tout les codes trouvé démarre d'un chemin prédéfini or j'aimerai partir depuis mes lecteurs, et partitions j'ai donc fait ça mais je trouve que c'est très moche...
pourquoi faire simple quand on peut faire compliquer j'aime bien aider mais pas
faire vos recherche alors avant de nous poser la question, demander lui=>google
j'essaye de faire une arborescence en php mais tout les codes trouvé démarre d'un chemin prédéfini or j'aimerai partir depuis mes lecteurs, et partitions j'ai donc fait ça mais je trouve que c'est très moche...
function ScanVol() { $vol=1; $disk=array("A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"); foreach($disk as $Directory) { if(@opendir($Directory.":/")) { $tabVol[$vol]=$Directory.":/"; $vol++; @closedir($Directory.":/"); } } return($tabVol); }
pourquoi faire simple quand on peut faire compliquer j'aime bien aider mais pas
faire vos recherche alors avant de nous poser la question, demander lui=>google
A voir également:
- Arbo php code pas top
- Code ascii - Guide
- Code puk bloqué - Guide
- Code activation windows 10 - Guide
- Comment déverrouiller un téléphone quand on a oublié le code - Guide
- Code blocks - Télécharger - Langages
6 réponses
Bonjour,
Il faut utiliser une fonction récursive:
A+
Il faut utiliser une fonction récursive:
function getDirectory( $path = '.', $level = 0 ){ $ignore = array( 'cgi-bin', '.', '..' ); // Directories to ignore when listing output. Many hosts // will deny PHP access to the cgi-bin. $dh = @opendir( $path ); // Open the directory to the handle $dh while( false !== ( $file = readdir( $dh ) ) ){ // Loop through the directory if( !in_array( $file, $ignore ) ){ // Check that this file is not to be ignored $spaces = str_repeat( ' ', ( $level * 4 ) ); // Just to add spacing to the list, to better // show the directory tree. if( is_dir( "$path/$file" ) ){ // Its a directory, so we need to keep reading down... echo "<strong>$spaces $file</strong><br />"; getDirectory( "$path/$file", ($level+1) ); // Re-call this same function but on a new directory. // this is what makes function recursive. } else { echo "$spaces $file<br />"; // Just print out the filename } } } closedir( $dh ); // Close the directory handle }
A+
j'comprend pas bien l'anglais mais je vois pas du tout l'utilité de la récursivité là je souhaite juste affiché mais lecteurs et partitions pas ce qu'ils contiennent, ça c'est le js qui s'en charge très bien
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour,
CITE: "je vois pas du tout l'utilité de la récursivité"....
C'est pourtant la base d'une programmation efficace pour l'analyse des arborescences dont on ne connait pas la hiérarchie...
https://fr.wikipedia.org/wiki/Algorithme_r%C3%A9cursif
On s'en sert en informatique justement pour le cas que vous citez.
Sinon, vos lecteurs, c'est A: C: D: etc... sous Windows....
Mais ce ne sont pas ces noms là sous Linux ou MacOS.
LE programme est en PHP, donc destiné à tourner sur un serveur, il y a fort à parier que ledit serveur soit à 99,99999% sous Linux/Unix.
Sinon lister vos lecteurs locaux, je vois vraiment pas l'intérêt, même avec la récursivité.
A+
CITE: "je vois pas du tout l'utilité de la récursivité"....
C'est pourtant la base d'une programmation efficace pour l'analyse des arborescences dont on ne connait pas la hiérarchie...
https://fr.wikipedia.org/wiki/Algorithme_r%C3%A9cursif
On s'en sert en informatique justement pour le cas que vous citez.
Sinon, vos lecteurs, c'est A: C: D: etc... sous Windows....
Mais ce ne sont pas ces noms là sous Linux ou MacOS.
LE programme est en PHP, donc destiné à tourner sur un serveur, il y a fort à parier que ledit serveur soit à 99,99999% sous Linux/Unix.
Sinon lister vos lecteurs locaux, je vois vraiment pas l'intérêt, même avec la récursivité.
A+
et bah en faite si je suis débile je sais mais je veux lister mais locaux en faite je veux essayer de faire une appli portable qui pourrai tourner sur ma clef avec MOVAMP et donc a 'louverture je testerai si je suis sous linux ou pas ... Puis pour Linux je suis peut etre a nouveau tres tres débile mais le plus simple pour partir du début c'est juste de partir de la racine // alors que windows les racine sont nos lecteurs