Cet article présente principalement les opérations de répertoire PHP. Il résume et analyse les fonctions liées à PHP et les techniques d'utilisation pour les opérations courantes telles que la lecture, la traversée et la fermeture de répertoires sous forme d'exemples.
L'exemple de cet article résume la méthode de fonctionnement du répertoire PHP. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :
Opérations sur le répertoire
Nouveau répertoire : mkdir (chemin, autorisations, récursif création)
Supprimer le répertoire: rmdir()
Déplacer (renommer): renommer()
Obtenir contenu du répertoire :
//Ouvrir le répertoire
Poignée du répertoire = opendir()
//Lire le répertoire
Nom du fichier = readdir (répertoire handle)
Lisez les noms de fichiers dans l'ordre et déplacez le pointeur du descripteur de fichier vers le bas S'il ne peut pas être lu, retournez false
//Fermez le répertoire
closedir().
Lire récursivement le contenu du répertoire :
<?php showDir('../../file'); function showDir($path,$dep=0){ $pos = opendir($path); while(false!==$file=readdir($pos)){ if($file=='.'||$file=='..') continue; echo str_repeat(" ",$dep*4),$file.'</br>'; if(is_dir($path.'/'.$file)){ $func = __FUNCTION__; $func($path.'/'.$file,$dep+1); } } }
L'effet d'exécution est le suivant :
<?php $res = showDir('../../file'); echo '<pre class="brush:php;toolbar:false">'; print_r($res); function showDir($path){ $pos = opendir($path); $next = array(); while(false!==$file=readdir($pos)){ if($file=='.'||$file=='..') continue; $fileinfo = array(); $fileinfo['name'] = $file; if(is_dir($path.'/'.$file)){ $fileinfo['type'] = 'dir'; $func = __FUNCTION__; $fileinfo['next'] = $func($path.'/'.$file); }else{ $fileinfo['type'] = 'file'; } $next[] = $fileinfo; } closedir($pos); return $next; }
L'effet de course est le suivant :
Supprimer des répertoires de manière récursive :
<?php showDir('../../file/sim'); function showDir($path,$dep=0){ $pos = opendir($path); while(false!==$file=readdir($pos)){ if($file=='.'||$file=='..') continue; // echo str_repeat(" ",$dep*4),$file.'</br>'; if(is_dir($path.'/'.$file)){ $func = __FUNCTION__; $func($path.'/'.$file,$dep+1); }else{ unlink($path.'/'.$file); } } rmdir($path); closedir($pos); }
Problème d'encodage du fichier de répertoire :
Lors de l'affichage, convertir l'opération encodage du système vers l'encodage des données de réponse
Windows est gbk, projet utf-8
iconv('gbk',utf-8',file);
L'adresse du code existe en chinois : il faut à convertir en codage système
iconv(utf-8','gbk',file);
Ce qui précède est l'intégralité du contenu de cet article, j'espère qu'il vous sera utile. l'étude de tout le monde. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois !
Recommandations associées :
À propos de l'analyse des instructions de prétraitement php_pdo
À propos du fonctionnement des listes chaînées de PHP
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!