ホームページ  >  記事  >  バックエンド開発  >  PHPでファイル名を一括変更する方法

PHPでファイル名を一括変更する方法

墨辰丷
墨辰丷オリジナル
2018-05-25 13:43:491452ブラウズ

この記事では、主に PHP でファイル名をバッチ変更する方法を紹介し、PHP の再帰、走査、およびファイルとディレクトリの変更の原理と実装テクニックを例の形式で分析します。この記事では、ファイル名をバッチ変更する方法を例を挙げて PHP について説明します。参考のために皆さんと共有してください。詳細は次のとおりです:

ここでは、Battlefield によって作成された例を使用して、PHP を使用してファイル名を一括変更するためのアイデアと注意事項を詳細に分析します。

この例から、

PHP がパスがディレクトリであるかどうかを判断する方法、PHP を使用してパス内のファイル名とファイル拡張子を取得する方法、ランダム関数 rand の基本的なアプリケーション、およびそのコアの内容がわかります。このプログラムは再帰関数の基本的な応用です

プログラム関数:

PHP のディレクトリ関数とファイル関数を使用して、ユーザーが指定したディレクトリ内のすべてのファイルとフォルダーを検索し、ファイル名を変更します。 まず、ユーザーが指定したディレクトリが正当なディレクトリであるかどうかを判断します。

ここで行っているのは、狭義のファイル名を変更するだけです(ディレクトリを除く)。そのため、プログラム内でそれがディレクトリであるかどうかを判断する必要があります。ディレクトリである場合は、そのディレクトリを開き、それによってすべてのファイルを走査します。ディレクトリ内にあります。そうでない場合は、元のファイル名をランダムな名前で変更します (乱数を名前として使用するのは実際には非科学的ですが、これは私たちの焦点では​​ありません)。

具体的なプログラムは次のとおりです:

<?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;);
?>

プログラム分析:

4行目では、is_dir関数を使用して、ユーザーが指定したディレクトリが有効なディレクトリ名であるかどうかを判断します。簡単に言うと、誰もが使用できるようにサーバー上にデータを置きたい場合は、入力データを慎重に検証する必要があります。たとえば、このディレクトリでユーザーが変更できるかどうかなど...

注意してください関数の 9 行目の判定には、完全な etc. (PHP の一致する記号 === 3 つの等号、一致していません! == 1 つの感嘆符と 2 つの等号) を使用する必要があります。そうでない場合は、ファイル名に名前が 0 (ゼロ) の場合、プログラムが予期せず終了します。

12 行目、読み取られたファイルがディレクトリの場合、関数の再帰を実装するためにここで関数自体を呼び出します。 16 行目の pathinfo 関数の使用法。この関数は 3 つの要素を含む配列を返します。3 つの要素は次のとおりです:

Dirname パスのディレクトリ名、basename パスに含まれるファイル名、および拡張ファイルの拡張子名。この機能の具体的な使用方法については、マニュアルの該当部分を参照してください。

プログラムの17行目では、PHPの乱数関数randを使用しています。これは基本的なランダム関数です。その他のランダム関数については、このWebサイトのマニュアルを参照してください。 http://shouce.jb51.net/php5/

注: PHP の readdir 関数で読み取られるファイル名が「.」と「..」であるかどうかを必ず確認してください。これは非常に重要ですが、なぜでしょうか。ぜひ試してみてください!

以上がこの記事の全内容です、皆様の学習のお役に立てれば幸いです。

関連する推奨事項:


php readfile()

ファイルを変更する

アップロードサイズのケース

phpを作成してファイルを変更する
コンテンツ

作成方法とmod php でファイルを編集する
コンテンツ


以上がPHPでファイル名を一括変更する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。