PHPで複数のファイル名をどのように一括置換できますか?
PHP の scandir() 関数で対象ディレクトリ内のすべてのファイル名を取得し、rename() 関数で一括でファイル名を置き換える
以下はサンプルコードです。これを使用すると特定のディレクトリ内のすべてのファイル名中の特定の文字列を置換できます:
$dir = '/path/to/directory'; // 指定目录
$oldString = 'old'; // 要替换的字符串
$newString = 'new'; // 替换后的字符串
// 获取目录下的所有文件名
$files = scandir($dir);
// 遍历所有文件
foreach ($files as $file) {
// 排除当前目录和上级目录
if ($file != '.' && $file != '..') {
// 替换文件名中的字符串
$newName = str_replace($oldString, $newString, $file);
// 执行文件名替换
rename($dir . '/' . $file, $dir . '/' . $newName);
// 输出替换结果
echo '替换文件名:' . $file . ' -> ' . $newName . '<br>';
}
}
上記コードでは、/path/to/directoryを置換したいディレクトリパスに、’old’ を置換したい文字列に、’new’ を置換後の文字列に変更する必要があります。
ファイル名の置換を実行する前に、そのディレクトリに適切な書き込み権限があることを確認してください。