[PHP] fonction rename()

Résolu/Fermé
Sheronz Messages postés 21 Date d'inscription mardi 2 mai 2006 Statut Membre Dernière intervention 11 décembre 2009 - 23 sept. 2007 à 06:01
Sheronz Messages postés 21 Date d'inscription mardi 2 mai 2006 Statut Membre Dernière intervention 11 décembre 2009 - 23 sept. 2007 à 08:27
Bonjour,

j'ai récemment developpé un petit script php. Dans certain cas, ce script fait appel à la fonction php rename() pour renommer un dossier afin que le système soit totalement automatisé, je ne peux me permettre d'aller changer moi-même le nom du dossier à chaque fois ...

Voici la parcelle de code qui me pose problème :
$ancien_rep_agence = "../images/agences/".$agence_save_nom;
$nouveau_rep_agence = "../images/agences/".$var_agence_nom;
if(!is_dir($nouveau_rep_agence)) rename($ancien_rep_agence, $nouveau_rep_agence);

Voici le code d'erreur auquel je suis confronté :
Warning: rename(../images/agences/,../images/agences/GESTIMMO) [function.rename]: Permission denied in C:\Program Files\wamp\www\immo\html\admin\verify_adm.php on line 384


PS: comme vous pouvez le voir dans le message d'erreur, mon script fonctionne en local via WAMP5, et mon environement est Windows.

Merci d'avance pour vos réponses.
A +
SheronZ
A voir également:

2 réponses

Sheronz Messages postés 21 Date d'inscription mardi 2 mai 2006 Statut Membre Dernière intervention 11 décembre 2009 5
23 sept. 2007 à 08:27
Honte à moi ..
Merci vignemail1 pour ton intervention, mais en fait j'ai été trop vite, et le problème venait tous simplement de ma variable $agence_save_nom déclarée plus haut dans mon code .. j'aurais d^m'en rendre compte en lisant un peu mieux le message d'erreur ^^'

Problème réglé !
A +
SheronZ
3
vignemail1 Messages postés 1246 Date d'inscription vendredi 8 octobre 2004 Statut Contributeur Dernière intervention 13 septembre 2019 259
23 sept. 2007 à 08:00
Je pense que cela viens de te permission sur les fichiers. Je m'explique :
lorsque tu crée tes fichiers avec ton compte toto, tu as du mettre des droits 700 (sous Apache les droits fonctionnent comme sous Linux) or lorsque tu lances la commande PHP rename(), c'est le compte Apache qui effectue la commande donc avec des droits type 700, tu peux pas faire.
La solution : tu as probablement le même groupe entre Toto et Apache donc met les droits des fichiers à 770 et là ça devrait marcher
2