Ошибка переименования PHP - PullRequest
0 голосов
/ 10 июля 2010

Я получаю эту ошибку при использовании функции переименования

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" - правильный путь, я сделал include ("../ data / feeds/feed2.txt ") и отображает файл.И "../data/feeds/feed3.txt" не существует.

Кто-нибудь знает, что является причиной этого?

Ответы [ 3 ]

0 голосов
/ 10 июля 2010

Вы можете использовать в операторах try-catch: copy( $old_name, $new_name ); unlink($old_name);

Просто вы должны быть уверены, что каталог доступен для записи.

В вашем случае вы должны быть уверены, что этот файл назначения существуетили используйте абсолютные пути к файлам

0 голосов
/ 10 июля 2010

Вы заключали строки в кавычки?

rename('../data/feeds/feed2.txt','../data/feeds/feed3.txt');
0 голосов
/ 10 июля 2010

Вы должны проверить, доступен ли для чтения "../data/feeds/feed2.txt" и доступен ли для записи "../data/feeds/feed3.txt" ...

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