重命名文件不能在php上运行

时间:2015-07-28 20:16:10

标签: php rename

我有这个代码的问题 使用代码,我可以将整个文件夹文件更改为数字,如1.mp4 2.mp4等...

我测试代码并从中打印文件的名称,每件事情都是正确的 但重命名功能不起作用 这是我的代码

$dir = opendir('.');

$i = 1;

// loop through all the files in the directory
while (false !== ($file = readdir($dir)))
{


    // if the extension is '.mp4'
    if (strtolower(pathinfo($file, PATHINFO_EXTENSION)) == 'mp4')
    {
 echo $file ;

        // do the rename based on the current iteration
        $newName = $i . '.mp4';
        rename($file, $newName);

        // increase for the next loop
        $i++;
    }
}

// close the directory handle
closedir($dir);

?>

现在的问题是什么?

新iNFO

i tried the code inside my localhost and it's work but it's not working inside the server 

1 个答案:

答案 0 :(得分:0)

使用glob()

效率更高
foreach(glob(__DIR__ . '/*.mp4') as $key => $file) {
  if(!rename($file, __DIR__ . '/' . ($key + 1) . '.mp4')) {
    throw new Exception('Unable to write to '. $file);
  }
}

我会冒险猜测它是写权限问题 - 我没有看到脚本有任何直接错误。