Le renommé de PHP serait mon meilleur pari. Je n'ai pas vu beaucoup d'exemples sur la façon d'utiliser les URL relatives, alors j'ai un peu compromis. De toute façon, cela me donne la permission refusée:Déplacer un fichier et le renommer
Je veux faire:
$file = "../data.csv";
rename("$file", "../history/newname.csv");
Où ../ bien sûr serait revenir en arrière 1 répertoire à partir duquel le script est RAN. Je ne pouvais pas trouver un moyen ... donc je l'ai fait à la place:
$file = "data.csv";
$path = dirname(realpath("../".$file));
rename("$path/$file", "$path/history/newname.csv");
Cependant, je reçois permission refusée (oui le dossier historique est la propriété de www-data, et oui data.csv est propriété de www-data). Je pensais que c'était bizarre alors j'ai essayé un test simple:
rename('tempfile.txt', 'tempfile2.txt');
et je me suis assuré www-data a un contrôle total sur tempfile.txt ... encore obtenu l'autorisation refusée. Pourquoi? Est-ce que le fichier que vous le renommer doit exister? ne pouvez-vous pas renommer comme mv de linux? Donc je copie plutôt() et unlink()?
En fait '644' serait préférable, car un fichier CSV ne devrait pas être exécutable. –
oui le chmod est 644, j'ai même essayé 777 pour le faire fonctionner. Rien ne fonctionne. et apache est www-data, je le sais parce que je déplace d'autres trucs et que j'ai besoin d'être www-data, plus j'ai vérifié top. – ParoX
Le chemin d'accès complet à data.csv serait /var/imvu/products/ht/clients/test/data.csv où/var/appartient à root, imvu through test est la propriété de wwwftp (un ftp je l'ai fait donc je ne le fais pas ftp en racine). Aussi comme je l'ai dit, le dir où il va (histoire) est la propriété de www-data. – ParoX