fonction rename()

Eléphanteau du PHP | 11 Messages

09 mai 2006, 20:58

A partir d'une page situer dans un dossier projet, je souhaiterai renomé un fichier situé dans le dossier bdd.

rename("F:/EasyPHP1-8/www/Projet/bdd/transfere.txt", "F:/EasyPHP1-8/www/Projet/bdd/reservation.txt");

Le fichier est renomé sans probleme, cepandant je souhaiterais que les url soit donner en chemin relatif

rename("/bdd/transfere.txt", "/bdd/reservation.txt");

mais cela ne fonctionne pas. Si quelqu'un pourrai m'éclairer de ses lumières.

Eléphant du PHP | 493 Messages

09 mai 2006, 21:24

Afin d'utiliser en url relative, tu peux t'y prendre de 2 manières (identiques) :
rename("./bdd/transfere.txt", "./bdd/reservation.txt"); 
rename("bdd/transfere.txt", "bdd/reservation.txt");
Voila chef

Eléphanteau du PHP | 11 Messages

09 mai 2006, 21:49

Merci beaucoup, sa marche super

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

10 mai 2006, 00:32

Pour info, la fonction rename (comme la plupart des fonctions qui opèrent sur les fichiers ou dossiers du serveur) ne marche pas avec des url mais avec les chemins physiques de la machine.

C'est pour ça que le fait de commencer le chemin par / ne fonctionnait pas, il considère qu'il s'agit de la racine (et donc chemin absolu). Les chemins relatifs s'obtiennent donc bien à partir de l'emplacement du script (soit directement avec le nom du dossier, soit en préfixant par "./", soit en préfixant par "../" pour remonter dans le dossier parent) :)