2012-07-17 131 views
1

請使用以下腳本。使用php進行文件重命名

<?php 

if ($handle = opendir('files/')) { 
    while (false !== ($fileName = readdir($handle))) { 
     $newName = str_replace("SKU#","",$fileName); 
     rename(fileName, $newName); 
    } 
    closedir($handle); } ?> 

我的腳本位於iss的根目錄。

inetpub/wwwroot 

而我試圖作爲結果訪問文件夾文件/,這是一級到wwwroot。哪裏包含一個叫做圖像:

"WV1716BNSKU#.zoom.1" 

我使用的是Windows操作系統,任何想法爲什麼這不起作用,代碼看起來文件。

+3

可能是你想要的'>>> $ <<<內'重命名(..)'fileName'? – SuperSaiyan 2012-07-17 11:59:27

+2

定義「不工作」。你有沒有試過調試什麼是工作,什麼不是?一個'rename'工作沒有循環嗎? – deceze 2012-07-17 11:59:44

+1

我覺得當它不工作,你應該得到一個錯誤。已啓用您的所有error_reporting? – Stony 2012-07-17 12:01:11

回答

1

你會得到什麼錯誤?確保PHP設置爲顯示所有錯誤。

由於所有的路徑都是相對的,您的腳本也必須與您要重命名的文件位於同一文件夾中。

試試這個:

if ($handle = opendir('./')){ 

    while (false !== ($fileName = readdir($handle))){ 
     $newName = str_replace("SKU#", "", $fileName); 
     rename($fileName, $newName); 
    } 

    closedir($handle); 
} 
+0

好的這裏是錯誤: [17-Jul-2012 13:19:00] PHP警告:rename(。,。)[ function.rename]:第10行的C:\ inetpub \ wwwroot \ rename.php中的權限被拒絕 [17-J ul-2012 13:19:00] PHP Warning:rename(..,..)[function.rename]:權限被拒絕在第10行的C:\ inetpub \ wwwroot \ rename.php中 [2012年07月17日13:19 :00] PHP Warning:rename(WV1716BNSKU#.zoom.1.jpg,WV1716BN.zoom.1.jpg)[function.rename]:在第10行的C:\ inetpub \ wwwroot \ rename.php中沒有這樣的文件或目錄 – thejoker 2012-07-17 12:19:43

+0

似乎沒有權限重命名文件。嘗試在您的FTP客戶端中將CHMOD值更改爲777。 – 472084 2012-07-17 12:22:22

+0

工作。謝謝Jleagle! – thejoker 2012-07-17 12:24:24