Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1431 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Rename() qui me retourne "Is a Directory"

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Rename() qui me retourne "Is a Directory"

n°1436227
esox_ch
Posté le 04-09-2006 à 14:04:02  profilanswer
 

Bonjour,
Je suis entrain d'écrire une petit script qui déplace des fichiers/répertoires, et je tombe sur une erreur assez particulière..
 
voila la portion de code responsable :  

Code :
  1. echo 'is readable '.is_readable($this->path).'<br/>';
  2. echo 'is writable '.is_writable($this->path).'<br/><br/>';
  3. echo 'is writable'.is_writable($this->inc->getPath().'uploads/').'<br/>';
  4. if (rename($this->path,$this->inc->getPath().'uploads/'.urlencode($this->nom)))
  5. //continue le traitement


 
Tous les is_readable() / is_writable() retournent true, et je me mange l'erreur suivante :  
rename(/tmp/test,/home/esox/projet/../uploads/directory) [function.rename]: Is a directory
 
Hors dans la doc il est dit que rename peut aussi bouger des repertoires .. Je comprend vraiment pas ...  
Merci de me flageller comme il se doit pour ce problème, qui doit être basé sur une faute débile comme tout.
 
Au revoir


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
mood
Publicité
Posté le 04-09-2006 à 14:04:02  profilanswer
 

n°1436232
anapajari
s/travail/glanding on hfr/gs;
Posté le 04-09-2006 à 14:11:52  profilanswer
 

t'aurais pas fait un opendir sans closedir sur celui-ci des fois?

n°1436280
esox_ch
Posté le 04-09-2006 à 15:51:23  profilanswer
 

Non, c'est la seule action que j'effectue sur un fichier/repertoire


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°1436342
soju
One shot !
Posté le 04-09-2006 à 17:12:36  profilanswer
 

c'est normal le .. dans /home/esox/projet/../uploads/directory ?

n°1436393
esox_ch
Posté le 04-09-2006 à 19:05:02  profilanswer
 

Tout à fait


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°1436520
jagstang
Pa Capona ಠ_ಠ
Posté le 05-09-2006 à 00:58:41  profilanswer
 

non mais là tu renomme pas, tu le déplaces...
 
essaie un exec(mv) si tu travailles en local


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
n°1436539
esox_ch
Posté le 05-09-2006 à 08:31:55  profilanswer
 

Exec ne sera pas activé étant donné que c'est sur un serveur mutualisé.
Mais je suis au courant que je le deplace, c'est bien mon intention d'ailleurs, et si je regarde la doc tout semble dire que c'est bien autorisé..


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°1436678
jagstang
Pa Capona ಠ_ಠ
Posté le 05-09-2006 à 12:12:24  profilanswer
 

c'est pas un problème de  
 
rename("/path/from/", "/path/to" )  
au lieu de  
rename("/path/from", "/path/to" )  


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
n°1436679
jagstang
Pa Capona ಠ_ಠ
Posté le 05-09-2006 à 12:13:42  profilanswer
 

question con :
 
pourquoi tu utilises  
 /home/esox/projet/../uploads/directory
 
puisque tu donne le chemin absolu...
 
equivalent à : /home/esox/uploads/directory


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
n°1437923
esox_ch
Posté le 06-09-2006 à 18:57:19  profilanswer
 

C'est une raison "interne", j'ai une classe qui me fournis le path des differents fichiers, du coups je me retrouve parfois des .. dans le path ... Mais je doute que ça puisse etre grave non ?  
Pour l'histoire du path finissant ou non par / , j'ai tenté toutes les possibilitées mais rien n'a changé

mood
Publicité
Posté le 06-09-2006 à 18:57:19  profilanswer
 

n°1437931
jagstang
Pa Capona ಠ_ಠ
Posté le 06-09-2006 à 19:29:10  profilanswer
 

je sais pas alors... je teste ça en local, ça fonctionne...
<?php
 
echo rename("b", "dest/c" ) ;
 
?>
avec les suffisament de droits bien sûr
 


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
n°1438280
esox_ch
Posté le 07-09-2006 à 13:29:58  profilanswer
 

Salut,
Avec le test que tu mets là, chez moi aussi ça marche.
J'ai pris mon rename et mis (avec les liens ecrits en dur) dans un script à part.  
Le problème est qu'au lieu de boujer le repertoire , il créé un fichier vide au point de destinaison, sans toucher à l'autre repertoire.
J'ai essayé de faire un unlink sur un des fichiers contenu dans le repertoire de depart et ça marche .. donc ça devrait pas etre un probleme de permissions (surtout que j'ai fait un chmod 0777 -R sur le repertoire d'arrivée et de depart)

n°1438371
jagstang
Pa Capona ಠ_ಠ
Posté le 07-09-2006 à 14:42:56  profilanswer
 

tu le dis toi-même : au lieu de "bouger" le répertoire. Je doute que rename soit la bonne commande...  
 
ou alors c'est uniquement pour les repertoires vides ?


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
n°1438379
gen2
Posté le 07-09-2006 à 14:47:13  profilanswer
 

En effet si le répertoire n'est pas vide, ça peut poser des problèmes je pense.
Essaie peut être de passer par un copy puis un unlink.

n°1438462
esox_ch
Posté le 07-09-2006 à 15:38:12  profilanswer
 

Ok donc du coups faut que je me tape un script qui fasse du cory/unlink recursif? .... Bordel mais c'est de mieu en mieu ce langage...  
Je vais faire encore quelques tests et si ca marche pas je ferai comme ça (je crois avoir vu un script qui fait ça dans les comments de la doc ... A voir )

n°1438533
jagstang
Pa Capona ಠ_ಠ
Posté le 07-09-2006 à 16:31:41  profilanswer
 

ouais [:jagstang]
 
apparement t'as une fct toute faite ici (3ème)
 
http://ch2.php.net/manual/en/function.copy.php


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Rename() qui me retourne "Is a Directory"

 

Sujets relatifs
window.status=....mauvais index retourné dans firefoxprobleme de resultat retourné par une variable
Active DirectoryFonction qui retourne une collection d'objets
[SGDB] PL/SQL : Fonction qui retourne un curseur[PHP] parse_ini_file + array retourné
Traiter des données en fonction du résultat retourné par fopen() bad interpreter: No such file or directory
débutant active directoryouvrir un fichier retourné via un script php
Plus de sujets relatifs à : Rename() qui me retourne "Is a Directory"


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR