[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

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
258
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