PHPを使用してディレクトリ内のファイル名を変更する方法


  1. opendir()とrename()関数を使用する方法:

    $dir = '/path/to/directory/';
    if ($handle = opendir($dir)) {
    while (false !== ($file = readdir($handle))) {
        if ($file != "." && $file != "..") {
            // ファイル名を変更する処理
            $newName = 'new_' . $file;
            rename($dir . $file, $dir . $newName);
        }
    }
    closedir($handle);
    }
  2. glob()関数を使用する方法:

    $dir = '/path/to/directory/';
    $files = glob($dir . '*');
    foreach ($files as $file) {
    if (is_file($file)) {
        // ファイル名を変更する処理
        $newName = 'new_' . basename($file);
        rename($file, $dir . $newName);
    }
    }
  3. DirectoryIteratorクラスを使用する方法:

    $dir = new DirectoryIterator('/path/to/directory/');
    foreach ($dir as $fileinfo) {
    if (!$fileinfo->isDot()) {
        $oldName = $fileinfo->getPathname();
        // ファイル名を変更する処理
        $newName = 'new_' . $fileinfo->getFilename();
        rename($oldName, $dir . $newName);
    }
    }

これらのコード例では、指定したディレクトリ内のファイルを順に処理し、それぞれのファイル名に新しい接頭辞("new_")を付けています。必要に応じて、新しいファイル名の形式を変更することもできます。