2010-07-10 5 views
0

je reçois cette erreur lorsque vous utilisez la fonction de changement de nomPHP renommage erreur

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 » est le bon chemin, je l'ai fait comprendre (» données ..//feeds/feed2.txt ") et il affiche le fichier. Et "../data/feeds/feed3.txt" n'existe pas.

Quelqu'un sait ce qui cause cela?

+0

Est-ce que cela se trouve sur un partage réseau Windows? –

+0

Vérifiez que le fichier de destination n'existe pas. Si c'est dissocié(). –

Répondre

0

vous devriez vérifier si "../data/feeds/feed2.txt" est lisible et si "../data/feeds/feed3.txt" est inscriptible ...

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

Vous pouvez utiliser dans les instructions try-catch: copy($old_name, $new_name); unlink($old_name);

Vous devez juste être sûr que le répertoire est accessible en écriture.

Dans votre cas u doit être sûr que ce fichier de destination est existe ou utiliser des chemins absolus

0

Avez-vous placer les chaînes entre guillemets?

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