JeuWeb - Crée ton jeu par navigateur
Vérifier l'existence d'un répertoire sur un serveur distant via FTP - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : Vérifier l'existence d'un répertoire sur un serveur distant via FTP (/showthread.php?tid=1147)



Vérifier l'existence d'un répertoire sur un serveur distant via FTP - Plume - 02-05-2007

Bonsoir ^^

Maintenant que j'ai fini ma classe de configuration, j'ai attaqué une classe que j'ai décidé d'appeler. J'ai donc une méthode d'upload dans laquelle je voudrais vérifier l'existence du répertoire de destination.

Quelqu'un aurait une astuce ?

Merci

@ tchaOo°



RE: Vérifier l'existence d'un répertoire sur un serveur distant via FTP - Plume - 03-05-2007

Bonjour ^^

Après un temps de réflexion, voilà comment je vois les choses :
Code PHP :
<?php 
if($verification = opendir($c_repertoireDestination))
{
if((
$existe = readdir($verification)) === FALSE)
{
$this->erreurFTP('Le transfert ne peut pas &ecirc;tre effectu&eacute; : le r&eacute;pertoire <'.$c_repertoireDestination.' n\'&eacute;xiste pas.<br />');
return
0;
}
}
else
{
$this->erreurFTP('Le transfert ne peut pas &ecirc;tre effectu&eacute; : le r&eacute;pertoire <'.$c_repertoireDestination.' n\'&eacute;xiste pas.<br />');
return
0;
}

Critiques, merci ! Smile

@ tchaOo°



RE: Vérifier l'existence d'un répertoire sur un serveur distant via FTP - Mysterarts - 03-05-2007

Comme quoi, tu post trop vite, mon gars ^^
(Voila, tu l'as t'a critique...=)


RE: Vérifier l'existence d'un répertoire sur un serveur distant via FTP - Plume - 03-05-2007

Bonsoir ^^

Peut être, mais quand même j'ai un problème finalement.
Je teste actuellement mes méthodes de ma classe InterfaceFTP. J'en suis au transfert de fichier. Je tente pour une seule image. Seulement, il me dit à chaque fois que le répertoire destination n'existe pas. Et j'arrive pas à comprendre.

Voilà le code de la méthode :
Code PHP :
<?php
// Transfert de fichier
function transfertFichier($c_fichier, $c_repertoireDestination)
{
if(empty(
$c_fichier))
{
$this->erreurFTP('Le transfert n\'a pu &ecirc;tre effectu&eacute; convenablement car aucun fichier n\'a &eacute;t&eacute; renseign&eacute.<br />');
return
0;
}

if(empty(
$c_repertoireDestination))
{
$this->erreurFTP('Le transfert n\'a pu &ecirc;tre effectu&eacute; convenablement car aucun r&eacute;pertoire n\'a &eacute;t&eacute; renseign&eacute.<br />');
return
0;
}

$verification = @opendir($c_repertoireDestination);
if(
$verification === TRUE)
{
$existe = @readdir($verification);
if(
$existe === FALSE)
{
$this->erreurFTP('Le transfert ne peut pas &ecirc;tre effectu&eacute; : le r&eacute;pertoire <b>'.$c_repertoireDestination.'</b> n\'&eacute;xiste pas.<br />');
return
0;
}
}
else
{
$this->erreurFTP('Le transfert ne peut pas &ecirc;tre effectu&eacute; : le r&eacute;pertoire <b>'.$c_repertoireDestination.'</b> n\'&eacute;xiste pas.<br />');
return
0;
}

$b_transfert = @ftp_put($this->r_fluxFTP, $c_repertoireDestination.'/'.$c_fichier, $c_fichier, $e_modeTransfert);
if(
$b_transfert === FALSE)
{
$this->erreurFTP('Le t&eacute;l&eacute;chargement FTP a &eacute;chou&eacute;.<br />');
return
0;
}

return
1;
}
?>

Voilà le code de test :
Code PHP :
<?php
$fichier
= 'C:\Documents and Settings\Alain\Mes documents\Mes images\portraitDessin.jpg';
$dossier = '../image';
$verification = $connexionFTP->transfertFichier($fichier, $dossier);
?>

Et pour votre satisfaction, une image de l'arborescence :
[Image: 2rznyhqd.jpg]

@ tchaOo°


RE: Vérifier l'existence d'un répertoire sur un serveur distant via FTP - Raoull - 04-05-2007

Pourquoi tu fais un readdir() pour tester l'existence du répertoire ?
Seul opendir() suffit pour ca.

readdir() te renvoie la liste des fichiers de ce répertoire. Donc si ton rep est vide, par exemple, il te retournera FALSE alors qu'il extiste bien.

Ensuite dans ton exemple, tu mets $dossier = '../image';
Mais, sauf erreur de ma part, j'ai l'impression que ton script de départ est dans "site" ou bien "gwencocreation".
Donc avec "../image" il va chercher un répertoire plus bas, alors que ton rep "image" est plus haut, meme 2 fois plus haut vu qu'il est situé dans "classes/image/'.
Bref ... ya surement une erreur dans le chemin.


RE: Vérifier l'existence d'un répertoire sur un serveur distant via FTP - Plume - 04-05-2007

Bonjour ^^

Pour le chemin, y avait effectivement une faute. Mais déjà à l'origine mon algorithme était faux ^^
Merci pour l'indication au sujet de readdir(), j'avais pas fait attention.
J'avais fait des tests avec le chemin absolu pour être sûr. Et maintenant il semble que le transfert ne se fasse pas. Le chemin du fichier est absolu également donc je peux pas me tromper. Et j'ai une erreur qui me dit que le transfert FTP ne se fait pas. J'ai supprimer la vérification de l'existence du répertoire car je fais des tests à partir de mon serveur local vers un serveur FTP distant.

Si quelqu'un sait me dire pourquoi le transfert ne marche pas, je le remercie ^^

@ tchaOo°


RE: Vérifier l'existence d'un répertoire sur un serveur distant via FTP - Plume - 04-05-2007

Bonjour :-°

On oublie, j'm'étais craqué. En fait ça marchait bien :oops:

@ tchaOo°