À propos des opérations d'annuaire en PHP

不言
Libérer: 2023-04-01 15:34:02
original
4032 Les gens l'ont consulté

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);
  }
 }
}
Copier après la connexion

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;
}
Copier après la connexion

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);
}
Copier après la connexion

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);
Copier après la connexion

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

iconv(utf-8&#39;,&#39;gbk&#39;,file);
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal