Soyez le premier à donner votre avis sur cette source.
Snippet vu 12 787 fois - Téléchargée 25 fois
<style> .fichier { font-weight:bold; font-size: 11px; font-family: arial, sans-serif; color:#000000; } .dossier { font-weight:bold; font-size: 12px; font-family: arial, sans-serif; color:#009900; } </style> <?php function scan($rep) { $dir = opendir($rep); if($dir) // suite au commentaire { while (false !== ($f = readdir($dir))) //lecture du contenu ,prend en compte si le fichier est nommé 0 et n'arrete la boucle merci pour cette remarque très judicieuse :) { if(is_file($rep.$f)) { echo '<span class="fichier">|__'.$f.'</span><br />'; } if(is_dir($rep.$f) && $f!=".." && $f!="." ) // on regarde si il ya des sous répertoires si oui on recommence la fonction. { echo '<ul><span class="dossier">'.$f.'</span><br />'; $new_dir=realpath($rep.$f); ///chemin absolu du répertoire scan("$new_dir/"); //fonction récurrente qui prend le chemin absolu du dossier et le scanne à nouveau. } } } echo "</ul>"; } scan("./");///Utilisation de la fonction (on part de la racine du répertoire) ?>
@Jimi154 => Tu devrais relire tes classiques ;-)
http://www.php.net/manual/fr/language.operators.comparison.php
la double égalité ou inégalité : == ou != ne compare pas sur les types :
<?php
$a = 0;
$b = false;
if ($a == $b) {
echo 'égaux';
} else {
echo 'inégaux;
}
if ($a === $b) {
echo 'égaux';
} else {
echo 'inégaux';
}
?>
Comme tu peux le voir, avec == , $a et $b sont égaux. Or, l'un est un entier dont la valeur est 0, l'autre un bouléen dont la valeur est false.
Avec ===, ils deviennent inégaux, ce qui est bien plus juste.
L'égalité avec === et l'inégalité avec !==, donc.
C'est bien moins dangereux...un exemple ?
<?php
$sChaine = 'ma chaîne';
if (false == strpos($sChaine, 'm')) {
echo 'm ne se trouve pas dans la chaîne : ma chaîne avec ==';
} else {
echo 'm se trouve dans la chaîne : ma chaîne avec ==';
}
if (false === strpos($sChaine, 'm')) {
echo 'm ne se trouve pas dans la chaîne : ma chaîne avec ===';
} else {
echo 'm se trouve dans la chaîne : ma chaîne avec ===';
}
?>
je passerai sur les remarque ci dessus pour en faire une tout autre:
pour avoir code une fonction similaire je suis tomber sur un des gros problemes des fonctions recursives a savoir les boucles sans fin.....
En travaillant sous linux avec des liens symboliques ( A=>B,B=>C,C=>A ) ,le script s'est mis en boucle et sous linux en 30s (timeout du script) la page generee etait tres genereuse ;)
attention donc de ne pas suivre ce type de liens symboliques
et dans ce cas la fonction is_link() arrange bien les chose .
ce jour la , is_link() a fait beaucoup plus que les ' les " ou quoi que ce soit
++
@ tchaOo°
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.