2010-07-10 94 views
0

我使用重命名功能PHP重命名錯誤

時出現此錯誤
Warning: rename(../data/feeds/feed2.txt,../data/feeds/feed3.txt) [function.rename]: No error in C:\wamp\www\cms\admin\pages\feeds.php on line 32 

「../data/feeds/feed2.txt」是正確的路徑,我已經做了包括(」 ../數據/ feeds/feed2.txt「)並顯示文件。並且「../data/feeds/feed3.txt」不存在。

任何人都知道是什麼原因造成的?

+0

這是否恰巧在Windows網絡共享上? – 2010-07-10 15:21:50

+0

檢查目標文件不存在。如果它解除鏈接()。 – 2010-07-10 15:23:36

回答

0

,你應該檢查一下「../data/feeds/feed2.txt」是可讀的,如果「../data/feeds/feed3.txt」是可寫的......

$oldname = ''; 
$newname = ''; 
if (
    file_exists($oldname)&& 
    (
     (!file_exists($newname))|| 
     is_writable($newname) 
    ) 
) { 
    rename($oldname, $newname); 
} 
0

你可以在try-catch語句中使用:copy($old_name, $new_name); unlink($old_name);

只要您確定該目錄是可寫的。

在你的情況ü必須確保該目標文件是存在,或者你用引號括起來的字符串中使用絕對文件路徑

0

rename('../data/feeds/feed2.txt','../data/feeds/feed3.txt');