Bonjour tout le monde.
J'ai développé une petite interface web afin que mes clients puissent uploader puis télécharger leurs fichiers. Pour se faire, ils s'identifient sur une page en ligne et arrivent sur une page avec la liste de leurs fichiers déjà uploadés, ainsi qu'un formulaire d'upload au cas où ils voudraient monter un nouveau fichier.
Au niveau de l'upload, aucun souci, le fichier qu'ils renseignent monte bien sur le serveur grâce à la fonction 'move_uploaded_file'.
Par contre, au niveau du téléchargement, ca ne marche pas. je n'arrive pas à leur faire rapatrier un fichier qu'ils ont précédemment uploader.
Pourtant, je liste la liste des fichiers présent dans leur repertoire grâce à la commande 'ftp_nlist' et les fichiers apparaissent bien. De même que lorsque je vérifie avec la commande 'is_file' si le fichier est bien présent, tout est toujours ok. Voici mon code déféctueux pour telecharger :
A noter qu'avant de tenter d'utiliser la methode ftp_get, j'avas essayé de mettre en place un lien direct dans la page qui avait cette forme :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 $server="ftp.domaine.com"; $connexion=ftp_connect($server) or die("Problème de connexion au serveur, réessayer ultérieurement"); $user = "mon_login"; $pass = "mon_mdp"; $res = ftp_login($connexion, $user, $pass); $mode = ftp_pasv($connexion, TRUE); //ici, en effectuant la commande ftp_pwd($connexion), je tombe bien dans le répertoire où sont stockés mes fichiers (à savoir /ftp/pub/nom_client/) //test de l'existence du fichier $dir=ftp_pwd($connexion); if(is_file($dir."/test.txt")) echo "fichier present"; else echo "fichier non present"; //je tente alors de telecharger le fichier vu que le fichier existe bien if (ftp_get($connexion, 'c:\toto.txt', 'test.txt', FTP_BINARY)) { echo "Le fichier test.txt a été écris avec succès\n"; } else { echo "Il y a un problème\n"; } //Il m'affiche alors ici que le fichier a été écris avec succès, mais impossible de le retrouver chez moi
mais un clic sur celui ci me renvoit une 404 not found.
Code : Sélectionner tout - Visualiser dans une fenêtre à part <a href="<?php echo $dir."/test.txt";?>">link</a>
Si quelqu'un pouvait éclairer ma triste lanterne, je l'en remercierai grandement ...
PS : les fichiers php de la page sont stockés dans le repertoire : /var/www/html/ftp_test/ et les fichiers des clients sont stockés dans /ftp/pub/nom_client/
un grand merci d'avance
Partager