Déplacer un fichier et le renommer

Compris PHP renommer serait mon meilleur pari. Je n'ai pas trouver de nombreux exemples sur la façon d'utiliser des Url relatives au bien, donc je sorte de compromis. De toute façon, ce me donner la permission refusée:

Je veux faire ceci:

$file = "../data.csv";
rename("$file", "../history/newname.csv");

../ de cours pourrait revenir 1 répertoire où le script est exécuté. Je ne pouvais pas trouver un moyen...donc j'ai fait ceci à la place:

$file = "data.csv";
$path = dirname(realpath("../".$file));
rename("$path/$file", "$path/history/newname.csv");

Cependant, je suis permission denied (oui le dossier de l'historique est détenue par www-data, et oui de données.csv est détenue par www-data). Je pensais que c'était bizarre alors j'ai essayé un test simple:

rename( 'tempfile.txt', 'tempfile2.txt' );

et j'ai pris soin de www-data a le plein contrôle sur tempfile.txt...encore obtenu la permission refusée. Pourquoi? le fichier votre de le renommer pour exister? pouvez-vous ne pas renommer comme linux mv? J'ai donc, au lieu de simplement copier() et unlink()?

OriginalL'auteur ParoX | 2010-07-25