Page 1 sur 1

Tester l'existence d'un dossier sur un serveur Ftp

Posté : 19 oct. 2009, 19:05
par devcphp
Bonjour à tous

Je suis en train d'ecrire une classe afin de gerer un serveur ftp.Le seul probeme est la creation d'un dossier .

En effet, la fonction renvoit une chaine de caractere qui correspond au dossier crée ou false si elle rencontre une erreur.

Comment faire en sorte de tester l'existence d'un dossier sur mon serveur ftp avant de le creer afin de ne pas generer d'erreur. Je pourrais toujours renommer l'initial par ftp_rename.

merci d'avance pour vos lumieres

Re: Tester l'existence d'un dossier sur un serveur Ftp

Posté : 19 oct. 2009, 19:15
par fab
Si il n'y a pas de méthode directe pour le faire tu peux utiliser http://fr.php.net/manual/fr/function.ftp-chdir.php, qui te renvoie true en cas de succes ( donc le dossier existe ) et false en cas d'échec ( donc le dossier n'existe pas ) Après il faut pas oublier de revenir en arrière :)

Re: Tester l'existence d'un dossier sur un serveur Ftp

Posté : 20 oct. 2009, 20:43
par devcphp
Merci à toi , j'ai reussi à créer ma fonction tel que je le souhaitais grace a ta methode.Je tourve bizarre qu'une fonction beaucoup plus adequate ne soit pas disponible.

D'autre part, je teste donc si mon dossier existe avant de le creer tel que :
if (FALSE === ftp_chdir($id,$dir)){
 //le dossier n'existe donc pas , je le crée
 ftp_mkdir ($id,'mon dossier');
}
probleme : php genere une erreur sur ma ligne de test du ftp_chdir alors que ma fonction est correct d'abord on teste avant d'encreer un .Comment procédé sans passer par l'ancien @.

Pourquoi une tel erreur de php?
Petite explication svp, merci

Re: Tester l'existence d'un dossier sur un serveur Ftp

Posté : 20 oct. 2009, 21:43
par fab
Je dois t'avouer que là il semble que ça soit un des rare cas ou le @ soit de rigueur, je n'ai pas de solution à te proposer et je viens de consulter la documentation et les commentaires et ils utilisent le @ donc ...

Re: Tester l'existence d'un dossier sur un serveur Ftp

Posté : 22 oct. 2009, 20:36
par devcphp
Vraiment merci de ta reponse, moi aussi j'ai cherché un peu partout , j'ai echappé avec un @ lmais repart deçu snifff.
C'est ma premiere bizarrerie de php à vrai dire.