Connexion ftp [Résolu]

Signaler
Messages postés
12
Date d'inscription
dimanche 23 janvier 2005
Statut
Membre
Dernière intervention
23 février 2005
-
Messages postés
12
Date d'inscription
dimanche 23 janvier 2005
Statut
Membre
Dernière intervention
23 février 2005
-
Bonsoir à tous.

Que dois faire pour permettre à mes utilisateurs d'avoir accès à mon repertoire "albums" par ftp sans qu'ils puissent pour autant se déplacer dans l'arborescence.
Le but de cette manoeuvre est qu'ils puissent déplacer des images de leur DD jusqu'à mon répertoire "albums"
J'ai bien essayé de faire ftp://monlogin:monmdp@ftpserveur.com mais il y a toujours la possibilité de remonter

Cette question peut paraitre facile mais je ne suis vraiment pas à l'aise avec les connexions ftp et je ne comprends pas le mécanisme en utilisant les fonctions PHP

Pouvez-vous éclairer ma lanterne?

Merci pour votre soutien
Goutedo

6 réponses

Messages postés
166
Date d'inscription
lundi 17 janvier 2005
Statut
Membre
Dernière intervention
8 avril 2007
1
Salut,



Lorsque l'on comprend comment marche les fonctions FTP c'est très facile ;).



Tu dois premièrement te connecter au serveur grâce à la fonction
ftp_connect. La seconde chose que tu as à faire est te loguer grâce à
la fonction ftp_login. Vérifier par la suite si la connexion a marcher.
Ensuite, tu lis tous les fichiers qu'il y a dans un répertoire et tu
l'affiches. Tu peux te rajouter des fonctions pour ajouté ou
télécharger un fichier avec la fonction ftp_fget ou ftp_fput. Tous les
informations sont à http://www.php.net/manual/fr/ref.ftp.php. Petit
exemple:



<?php

$conn_id = ftp_connect($ftp_server);

$login_result = ftp_login($conn_id,$ftp_user_name,$ftp_user_pass);if($conn_id false || $login_result false)

echo 'Erreur à la connexion du serveur FTP.';

else{

$file = ftp_nlist($conn_id,'directory');

if($file === false)

echo 'Dossier invalide.';

else{

var_dump($file);

}

}

?>
----------------

eXon
http://www.lookstrike.com
Messages postés
12
Date d'inscription
dimanche 23 janvier 2005
Statut
Membre
Dernière intervention
23 février 2005

merci exon pour ce petite cours.

je viens de tenter ton petit script. j'ai donc renseigné toutes les variables ftp nécessaires.
Mais quand je lance la page depuis le serveur free, il me retourne un message d'erreur "Call to undefined function: ftp_connect() ...".

Est-ce que cela veut dire que les manip avec les ftp ne sont pas activées par Free?
Messages postés
166
Date d'inscription
lundi 17 janvier 2005
Statut
Membre
Dernière intervention
8 avril 2007
1
Effectivement, je crois que Free ont désactivé les commandes FTP. Tu
devras utilisé quelque chose d'autre que le FTP pour faire ce que tu
veux. Comme readdir pour afficher le contenu de ton dossier et
move_uploaded_file pour uploadé tes fichier.



Exemple, pour lire ce qu'un dossier contient:

<?php

$dir = $_GET['dir'];

$handle = opendir($dir);

$directory = array();

$fichier = array();

while(($file = readdir($handle)) !== false){

if($file != '.' & $file != '..'){

if(is_dir($dir.$file))

$directory[count($directory)] = $file;

else

$fichier[count($fichier)] = $file;

}

}

foreach($directory as $value)

echo '[',$_SERVER['PHP_SELF'],'?dir=',$dir,$value,' ',$value,']
';

foreach($fichier as $value)

echo $value,'
';

?>

----------------

eXon
http://www.lookstrike.com
Messages postés
12
Date d'inscription
dimanche 23 janvier 2005
Statut
Membre
Dernière intervention
23 février 2005

Bonsoir,

je viens d'essayer l'exemple de la réponse juste au dessus avec comme variable $dir = c:\temp.

mais là autre problème. héhé.

l'erreur suivante est retournée par le serveur : opendir(C:\\temp): failed to open dir: No such file or directory ... patati patata.
Bref ca bloque dès la ligne 3

Y a t-il qqch à faire pour que le serveur cherche les infos sur le client?

Une autre question :
J'ai essayé aussi ton exemple avec Easy PHP. pourquoi cela fonctionne-t-il sans problème?

Voila.
Je t'en prie de me pardonner pour toutes ses questions mais je me sens de plus en plus perdu.
Et puis si vraiment j'y arrive pas, je mettrais à place un code pour uploader images par images.

Merci pour ton aide.
Goutedo
Messages postés
166
Date d'inscription
lundi 17 janvier 2005
Statut
Membre
Dernière intervention
8 avril 2007
1
Ça cherche sur le serveur donc il faut que tu conaisse le path de ton
dossier, ce que tu peux voir grâce en affichant la variable $_SERVER['PATH_TRANSLATED'].

----------------

eXon
http://www.lookstrike.com
Messages postés
12
Date d'inscription
dimanche 23 janvier 2005
Statut
Membre
Dernière intervention
23 février 2005

Bon ca fonctionne toujours pas...
Donc plutôt que de retarder encore et encore mon lancement,je vais réecrire mon code et mes utilisateurs mettront leurs fichiers un par un. ca leur sera plus long certes, mais bcp plus facile pour moi.

Merci pour ton aide.