Maison  >  Article  >  développement back-end  >  À propos des opérations d'annuaire en PHP

À propos des opérations d'annuaire en PHP

不言
不言original
2018-06-21 09:36:174013parcourir

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(&#39;../../file&#39;);
function showDir($path,$dep=0){
 $pos = opendir($path);
 while(false!==$file=readdir($pos)){
  if($file==&#39;.&#39;||$file==&#39;..&#39;) continue;
  echo str_repeat("&nbsp",$dep*4),$file.&#39;</br>&#39;;
  if(is_dir($path.&#39;/&#39;.$file)){
   $func = __FUNCTION__;
   $func($path.&#39;/&#39;.$file,$dep+1);
  }
 }
}

L'effet d'exécution est le suivant :

<?php
$res = showDir(&#39;../../file&#39;);
echo &#39;<pre class="brush:php;toolbar:false">&#39;;
print_r($res);
function showDir($path){
 $pos = opendir($path);
 $next = array();
 while(false!==$file=readdir($pos)){
  if($file==&#39;.&#39;||$file==&#39;..&#39;) continue;
  $fileinfo = array();
  $fileinfo[&#39;name&#39;] = $file;
  if(is_dir($path.&#39;/&#39;.$file)){
   $fileinfo[&#39;type&#39;] = &#39;dir&#39;;
   $func = __FUNCTION__;
   $fileinfo[&#39;next&#39;] = $func($path.&#39;/&#39;.$file);
  }else{
   $fileinfo[&#39;type&#39;] = &#39;file&#39;;
  }
  $next[] = $fileinfo;
 }
 closedir($pos);
 return $next;
}

L'effet de course est le suivant :

Supprimer des répertoires de manière récursive :

<?php
showDir(&#39;../../file/sim&#39;);
function showDir($path,$dep=0){
 $pos = opendir($path);
 while(false!==$file=readdir($pos)){
  if($file==&#39;.&#39;||$file==&#39;..&#39;) continue;
//  echo str_repeat("&nbsp",$dep*4),$file.&#39;</br>&#39;;
  if(is_dir($path.&#39;/&#39;.$file)){
   $func = __FUNCTION__;
   $func($path.&#39;/&#39;.$file,$dep+1);
  }else{
   unlink($path.&#39;/&#39;.$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(&#39;gbk&#39;,utf-8&#39;,file);

L'adresse du code existe en chinois : il faut à convertir en codage système

iconv(utf-8&#39;,&#39;gbk&#39;,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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn