Maison >développement back-end >tutoriel php >Comment modifier par lots les noms de fichiers en PHP

Comment modifier par lots les noms de fichiers en PHP

墨辰丷
墨辰丷original
2018-05-25 13:43:491500parcourir

Cet article présente principalement la méthode de modification par lots des noms de fichiers en PHP et analyse les principes et les techniques d'implémentation de la récursivité, du parcours et de la modification des fichiers et répertoires de PHP sous forme d'exemples. Les amis dans le besoin peuvent s'y référer<.>

L'exemple de cet article décrit la méthode de modification par lots des noms de fichiers en PHP. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :

Ici, nous utilisons un exemple écrit par Battlefield pour analyser en détail les idées et les précautions d'utilisation de PHP pour modifier par lots les noms de fichiers.

À partir de cet exemple, vous verrez,

Comment PHP détermine si un chemin est un répertoire, comment utiliser PHP pour obtenir le nom de fichier et l'extension de fichier dans le chemin, et l'application de base de la fonction aléatoire rand, Et le contenu principal de ce programme est l'application de base des fonctions récursives .

Fonctions du programme : Utilisez les fonctions de répertoire et de fichier PHP pour parcourir tous les fichiers et dossiers du répertoire indiqué par l'utilisateur et modifiez les noms de fichiers

Déterminez d'abord le nom des fichiers ; nom donné par l'utilisateur Le répertoire est-il un répertoire légal ?

Nous modifions uniquement le nom du fichier au sens étroit (hors répertoires), donc dans le programme nous devons déterminer s'il s'agit d'un répertoire. un répertoire, nous ouvrirons le répertoire - réalisant ainsi une itération dans tous les fichiers du répertoire. Sinon, nous modifierons le nom du fichier d'origine avec un nom aléatoire (il n'est en fait pas scientifique d'utiliser des nombres aléatoires comme noms, mais ce n'est pas notre objectif).

Le programme spécifique est le suivant :

<?php
//利用PHP目录和文件函数遍历用户给出目录的所有的文件和文件夹,修改文件名称
function fRename($dirname){
 if(!is_dir($dirname)){
 echo "{$dirname}不是一个有效的目录!";
 exit();
 }
 $handle = opendir($dirname);
 while(($fn = readdir($handle))!==false){
 if($fn!=&#39;.&#39;&&$fn!=&#39;..&#39;){
  $curDir = $dirname.&#39;/&#39;.$fn;
  if(is_dir($curDir)){
  fRename($curDir);
  }
  else{
  $path = pathinfo($curDir);
  $newname = $path[&#39;dirname&#39;].&#39;/&#39;.rand(0,100).&#39;.&#39;.$path[&#39;extension&#39;];
  rename($curDir,$newname);
  echo $curDir.&#39;---&#39;.$newname."<br>";
  }
 }
 }
}
//给出一个目录名称调用函数
fRename(&#39;pl&#39;);
?>

Analyse du programme :

Ligne 4 Nous utilisons la fonction is_dir pour déterminer si le répertoire donné par l'utilisateur est un nom de répertoire valide ; parce que nous apprenons, nous l'écrivons simplement. Si vous souhaitez le mettre sur le serveur pour que tout le monde puisse l'utiliser, vous devez le vérifier soigneusement. données d'entrée - -Par exemple, si ce répertoire permet aux utilisateurs de le modifier, etc...

Notez que le jugement à la ligne 9 de la fonction doit être jugé par congruence (symbole de congruence PHP === trois égaux signes, non congruents ! == Un point d'exclamation et deux signes égal), sinon s'il y a un fichier avec un nom de 0 (zéro), le programme se terminera de manière inattendue

Ligne 12, si le fichier est lu ; est un répertoire, appelez la fonction ici elle-même, implémente la récursion de la fonction

Faites attention à l'utilisation de la fonction pathinfo à la ligne 16. Cette fonction renvoie un tableau avec trois éléments.

Le nom du répertoire du chemin du nom de répertoire, le nom de fichier contenu dans le chemin du nom de base et le nom d'extension du fichier d'extension. Veuillez vous référer aux parties pertinentes du manuel pour l'utilisation spécifique de cette fonction.

Dans la ligne 17 du programme, la fonction de nombre aléatoire rand de PHP est utilisée. Il s'agit d'une fonction aléatoire de base. Pour d'autres fonctions aléatoires, veuillez vous référer au manuel de ce site http://shouce.jb51.net. /php5/.

Remarque : Assurez-vous de déterminer si le nom du fichier lu avec la fonction readdir de PHP est "." et ".." C'est très important, pourquoi ? Vous pouvez essayer !

Ce qui précède représente l'intégralité du contenu de cet article, j'espère qu'il sera utile à l'étude de chacun.


Recommandations associées :

php readfile()Modifier le fichierTélécharger la casse

php crée et modifie le contenudu fichier

php comment créer et modifie le contenudu fichier

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