2016-07-10 70 views
0
<?php 
$dir = opendir('C:\Users\Prometheus\Desktop\milkmaid'); 
$i = 1; 
// loop through all the files in the directory 
while (false !== ($file = readdir($dir))) 
{ 
     if ($file != "." && $file != "..") { 
     $newName = $i.'.mp4'; 
     $oldname = $file; 
     rename($oldname, $newName); 
     $i++; 
    } 
} 
?> 

當我上面的腳本運行,我得到以下錯誤:php重命名錯誤:系統找不到指定的文件。 (代碼:2)

The system cannot find the file specified. (code: 2)

+0

您是否嘗試過打印名稱?我敢打賭,缺少一個路徑分隔符。 – tkausl

+0

'echo $ newName;'給出'資源ID#41.mp4' –

+0

@tkausl我剛更新了我的代碼,我仍然看到同樣的錯誤。 'echo $ newName;'給出'1.mp4' while'echo $ oldname;'給出'papa.mp4' –

回答

1

$dir不是字符串。你不能連接$file。您需要將目錄置於單獨的變量中,並且不要忘記將/置於目錄和文件名之間。

+0

這也不起作用:'<?php $ dir = opendir('C:\ Users \ Prometheus \桌面\擠奶'); $ i = 1; ($ file = readdir($ dir))) if($ file!=「。」&& $ file!=「..」)//循環遍歷目錄 中的所有文件while(false!== ){ $ newName = $ i。'。mp4'; \t \t $ oldname = $ file; \t \t rename($ oldname,$ newName); $ i ++; } } ?>' –

+0

您可能試圖從其他目錄進行重命名。 – Evert

+0

@TarunMahashwari你沒有在rename()中的參數中使用絕對路徑。 – Evert

相關問題