Je souhaite uploader un fichier par ftp et récupérer le message de
reussite spécifique retourné par le serveur. Je connais la commande
FTP_PUT mais elle ne convient pas à mon besoin (même si elle marche).
J'utilise donc la fonction ftp_raw.
Ma question est la suivante : dois-je envoyer le fichier en indiquant
simplement son emplacement ou faut il lire le contenu du fichier, le
stocker dans une variable et envoyer le tout ou... suis-je à côté de la
plaque ?
Je ne dois pas avoir la bonne syntaxe, est-ce quelqu'un peut m'aider ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Olivier Miakinen
Je souhaite uploader un fichier par ftp et récupérer le message de reussite spécifique retourné par le serveur. Je connais la commande FTP_PUT mais elle ne convient pas à mon besoin (même si elle marche). J'utilise donc la fonction ftp_raw.
Ok.
Ma question est la suivante : dois-je envoyer le fichier en indiquant simplement son emplacement ou faut il lire le contenu du fichier, le stocker dans une variable et envoyer le tout ou... suis-je à côté de la plaque ?
Tu dois lire le fichier, pas nécessairement le stocker dans une variable, mais l'envoyer sur le flux de données (différent du flux de commande ouvert par ftp_connect), que tu dois soit ouvrir toi-même, soit demander au serveur d'ouvrir (selon que tu es en mode passif ou non).
Voir par exemple <http://www.commentcamarche.net/internet/ftp.php3>.
Je ne dois pas avoir la bonne syntaxe, est-ce quelqu'un peut m'aider ?
Surtout, tu dois faire soit un connect soit un accept à un moment donné, que tu ne fais pas.
Je souhaite uploader un fichier par ftp et récupérer le message de
reussite spécifique retourné par le serveur. Je connais la commande
FTP_PUT mais elle ne convient pas à mon besoin (même si elle marche).
J'utilise donc la fonction ftp_raw.
Ok.
Ma question est la suivante : dois-je envoyer le fichier en indiquant
simplement son emplacement ou faut il lire le contenu du fichier, le
stocker dans une variable et envoyer le tout ou... suis-je à côté de la
plaque ?
Tu dois lire le fichier, pas nécessairement le stocker dans une
variable, mais l'envoyer sur le flux de données (différent du flux de
commande ouvert par ftp_connect), que tu dois soit ouvrir toi-même, soit
demander au serveur d'ouvrir (selon que tu es en mode passif ou non).
Voir par exemple <http://www.commentcamarche.net/internet/ftp.php3>.
Je ne dois pas avoir la bonne syntaxe, est-ce quelqu'un peut m'aider ?
Surtout, tu dois faire soit un connect soit un accept à un moment donné,
que tu ne fais pas.
Je souhaite uploader un fichier par ftp et récupérer le message de reussite spécifique retourné par le serveur. Je connais la commande FTP_PUT mais elle ne convient pas à mon besoin (même si elle marche). J'utilise donc la fonction ftp_raw.
Ok.
Ma question est la suivante : dois-je envoyer le fichier en indiquant simplement son emplacement ou faut il lire le contenu du fichier, le stocker dans une variable et envoyer le tout ou... suis-je à côté de la plaque ?
Tu dois lire le fichier, pas nécessairement le stocker dans une variable, mais l'envoyer sur le flux de données (différent du flux de commande ouvert par ftp_connect), que tu dois soit ouvrir toi-même, soit demander au serveur d'ouvrir (selon que tu es en mode passif ou non).
Voir par exemple <http://www.commentcamarche.net/internet/ftp.php3>.
Je ne dois pas avoir la bonne syntaxe, est-ce quelqu'un peut m'aider ?
Surtout, tu dois faire soit un connect soit un accept à un moment donné, que tu ne fais pas.
P'tit Marcel
Je souhaite uploader un fichier par ftp et récupérer le message de reussite spécifique retourné par le serveur. J'utilise donc la fonction ftp_raw.
Ma question est la suivante : dois-je envoyer le fichier en indiquant simplement son emplacement ou faut il lire le contenu du fichier, le stocker dans une variable et envoyer le tout ou... suis-je à côté de la plaque ? Je ne dois pas avoir la bonne syntaxe, est-ce quelqu'un peut m'aider ?
Voici mon code : ...
Qu'est ce qu'affiche ton script à l'exécution ? Spécifiquement, quellle est la réponse du serveur FTP à la commande STOR ? As-tu essayé la syntaxe STOR nomdufichier nomdufichier ?
Est-ce que le compte test a le droit d'écrire sur son répertoire initial?
As-tu essayé la commande PUT ? D'ailleurs, quelqu'un peut-il expliquer simplement la différence entre les syntaxes put/get et retr/stor ?
eça -- P'tit Marcel stats sur les forums modérés http://www.centrale-lyon.org/ng/
Je souhaite uploader un fichier par ftp et récupérer le message de
reussite spécifique retourné par le serveur.
J'utilise donc la fonction ftp_raw.
Ma question est la suivante : dois-je envoyer le fichier en indiquant
simplement son emplacement ou faut il lire le contenu du fichier, le
stocker dans une variable et envoyer le tout ou... suis-je à côté de la
plaque ?
Je ne dois pas avoir la bonne syntaxe, est-ce quelqu'un peut m'aider ?
Voici mon code :
...
Qu'est ce qu'affiche ton script à l'exécution ? Spécifiquement, quellle
est la réponse du serveur FTP à la commande STOR ? As-tu essayé la
syntaxe STOR nomdufichier nomdufichier ?
Est-ce que le compte test a le droit d'écrire sur son répertoire initial?
As-tu essayé la commande PUT ? D'ailleurs, quelqu'un peut-il expliquer
simplement la différence entre les syntaxes put/get et retr/stor ?
eça
--
P'tit Marcel
stats sur les forums modérés http://www.centrale-lyon.org/ng/
Je souhaite uploader un fichier par ftp et récupérer le message de reussite spécifique retourné par le serveur. J'utilise donc la fonction ftp_raw.
Ma question est la suivante : dois-je envoyer le fichier en indiquant simplement son emplacement ou faut il lire le contenu du fichier, le stocker dans une variable et envoyer le tout ou... suis-je à côté de la plaque ? Je ne dois pas avoir la bonne syntaxe, est-ce quelqu'un peut m'aider ?
Voici mon code : ...
Qu'est ce qu'affiche ton script à l'exécution ? Spécifiquement, quellle est la réponse du serveur FTP à la commande STOR ? As-tu essayé la syntaxe STOR nomdufichier nomdufichier ?
Est-ce que le compte test a le droit d'écrire sur son répertoire initial?
As-tu essayé la commande PUT ? D'ailleurs, quelqu'un peut-il expliquer simplement la différence entre les syntaxes put/get et retr/stor ?
eça -- P'tit Marcel stats sur les forums modérés http://www.centrale-lyon.org/ng/
Josuke 666
Je souhaite uploader un fichier par ftp et récupérer le message de reussite spécifique retourné par le serveur. J'utilise donc la fonction ftp_raw.
Voici mon code : ...
Qu'est ce qu'affiche ton script à l'exécution ? Spécifiquement, quellle est la réponse du serveur FTP à la commande STOR ? As-tu essayé la syntaxe STOR nomdufichier nomdufichier ?
Est-ce que le compte test a le droit d'écrire sur son répertoire initial?
As-tu essayé la commande PUT ? D'ailleurs, quelqu'un peut-il expliquer simplement la différence entre les syntaxes put/get et retr/stor ?
Salut Marcel,
D'abord merci pour ta réponse.
Voici ce qu'affiche le script quand je l'exécute :
Array ( [0] => 331 User name okay, need password. )
Array ( [0] => 150 Opening BINARY mode data connection for monfichier.zip. )
Array ( [0] => 221 Goodbye! )
On touche au but, si vous avez d'autres suggestions, je suis preneur.
TheFooL aka Josuke666 :)
Je souhaite uploader un fichier par ftp et récupérer le message de
reussite spécifique retourné par le serveur. J'utilise donc la
fonction ftp_raw.
Voici mon code :
...
Qu'est ce qu'affiche ton script à l'exécution ? Spécifiquement, quellle
est la réponse du serveur FTP à la commande STOR ? As-tu essayé la
syntaxe STOR nomdufichier nomdufichier ?
Est-ce que le compte test a le droit d'écrire sur son répertoire initial?
As-tu essayé la commande PUT ? D'ailleurs, quelqu'un peut-il expliquer
simplement la différence entre les syntaxes put/get et retr/stor ?
Salut Marcel,
D'abord merci pour ta réponse.
Voici ce qu'affiche le script quand je l'exécute :
Array
(
[0] => 331 User name okay, need password.
)
Je souhaite uploader un fichier par ftp et récupérer le message de reussite spécifique retourné par le serveur. J'utilise donc la fonction ftp_raw.
Voici mon code : ...
Qu'est ce qu'affiche ton script à l'exécution ? Spécifiquement, quellle est la réponse du serveur FTP à la commande STOR ? As-tu essayé la syntaxe STOR nomdufichier nomdufichier ?
Est-ce que le compte test a le droit d'écrire sur son répertoire initial?
As-tu essayé la commande PUT ? D'ailleurs, quelqu'un peut-il expliquer simplement la différence entre les syntaxes put/get et retr/stor ?
Salut Marcel,
D'abord merci pour ta réponse.
Voici ce qu'affiche le script quand je l'exécute :
Array ( [0] => 331 User name okay, need password. )
Array ( [0] => 150 Opening BINARY mode data connection for monfichier.zip. )
Array ( [0] => 221 Goodbye! )
On touche au but, si vous avez d'autres suggestions, je suis preneur.
TheFooL aka Josuke666 :)
Josuke 666
Ma question est la suivante : dois-je envoyer le fichier en indiquant simplement son emplacement ou faut il lire le contenu du fichier, le stocker dans une variable et envoyer le tout ou... suis-je à côté de la plaque ?
Tu dois lire le fichier, pas nécessairement le stocker dans une variable, mais l'envoyer sur le flux de données (différent du flux de commande ouvert par ftp_connect), que tu dois soit ouvrir toi-même, soit demander au serveur d'ouvrir (selon que tu es en mode passif ou non).
Voir par exemple <http://www.commentcamarche.net/internet/ftp.php3>.
Je ne dois pas avoir la bonne syntaxe, est-ce quelqu'un peut m'aider ?
Surtout, tu dois faire soit un connect soit un accept à un moment donné, que tu ne fais pas.
salut Olivier, merci pour ta réponse.
Pour info le ftp distant refuse les connexions en mode passif.
Voici ce qu'affiche le script (sans modification) quand je l'exécute :
Array ( [0] => 331 User name okay, need password. )
Array ( [0] => 150 Opening BINARY mode data connection for monfichier.zip. )
Array ( [0] => 221 Goodbye! )
Tu as donc raison, j'ai l'impression que le ftp attend ensuite le flux de données (contenu du zip).
Pour moi c'est un peu mystérieux, je retourne sur le lien qui tu m'as communiqué.
Si je suis ce que tu m'indique, je dois ouvrir un socket pour démarrer l'échange ?
Merci à tous les lecteurs de ce post pour leur aimable contribution.
TheFooL aka josuke666
Ma question est la suivante : dois-je envoyer le fichier en indiquant
simplement son emplacement ou faut il lire le contenu du fichier, le
stocker dans une variable et envoyer le tout ou... suis-je à côté de la
plaque ?
Tu dois lire le fichier, pas nécessairement le stocker dans une
variable, mais l'envoyer sur le flux de données (différent du flux de
commande ouvert par ftp_connect), que tu dois soit ouvrir toi-même, soit
demander au serveur d'ouvrir (selon que tu es en mode passif ou non).
Voir par exemple <http://www.commentcamarche.net/internet/ftp.php3>.
Je ne dois pas avoir la bonne syntaxe, est-ce quelqu'un peut m'aider ?
Surtout, tu dois faire soit un connect soit un accept à un moment donné,
que tu ne fais pas.
salut Olivier, merci pour ta réponse.
Pour info le ftp distant refuse les connexions en mode passif.
Voici ce qu'affiche le script (sans modification) quand je l'exécute :
Array
(
[0] => 331 User name okay, need password.
)
Ma question est la suivante : dois-je envoyer le fichier en indiquant simplement son emplacement ou faut il lire le contenu du fichier, le stocker dans une variable et envoyer le tout ou... suis-je à côté de la plaque ?
Tu dois lire le fichier, pas nécessairement le stocker dans une variable, mais l'envoyer sur le flux de données (différent du flux de commande ouvert par ftp_connect), que tu dois soit ouvrir toi-même, soit demander au serveur d'ouvrir (selon que tu es en mode passif ou non).
Voir par exemple <http://www.commentcamarche.net/internet/ftp.php3>.
Je ne dois pas avoir la bonne syntaxe, est-ce quelqu'un peut m'aider ?
Surtout, tu dois faire soit un connect soit un accept à un moment donné, que tu ne fais pas.
salut Olivier, merci pour ta réponse.
Pour info le ftp distant refuse les connexions en mode passif.
Voici ce qu'affiche le script (sans modification) quand je l'exécute :
Array ( [0] => 331 User name okay, need password. )
Array ( [0] => 150 Opening BINARY mode data connection for monfichier.zip. )
Array ( [0] => 221 Goodbye! )
Tu as donc raison, j'ai l'impression que le ftp attend ensuite le flux de données (contenu du zip).
Pour moi c'est un peu mystérieux, je retourne sur le lien qui tu m'as communiqué.
Si je suis ce que tu m'indique, je dois ouvrir un socket pour démarrer l'échange ?
Merci à tous les lecteurs de ce post pour leur aimable contribution.
TheFooL aka josuke666
P'tit Marcel
Qu'est ce qu'affiche ton script à l'exécution ? Spécifiquement, quellle est la réponse du serveur FTP à la commande STOR ? Est-ce que le compte test a le droit d'écrire sur son répertoire initial?
Voici ce qu'affiche le script quand je l'exécute : [0] => 550 monfichier.zip: Cannot create file.
J'ai bien les droits en écriture avec le compte test.
Ben non, si le serveur FTP répond "cannot create file", c'est que les droits ne sont pas là... ou que le disque/quota est plein.
J'ai modifié deux lignes de mon script : $monfichier = './monfichier.zip'; print_r(ftp_raw($ftp, "STOR $monfichier")); flush(); echo '<br>'; Array ( [0] => 150 Opening BINARY mode data connection for monfichier.zip. )
C'est déjà plus encourageant mais pas suffisant. La commande devrait renvoyer en plus une réponse finale positive, genre 2nn
a+ -- P'tit Marcel stats sur les forums modérés http://www.centrale-lyon.org/ng/
Qu'est ce qu'affiche ton script à l'exécution ? Spécifiquement,
quellle est la réponse du serveur FTP à la commande STOR ?
Est-ce que le compte test a le droit d'écrire sur son répertoire initial?
Voici ce qu'affiche le script quand je l'exécute :
[0] => 550 monfichier.zip: Cannot create file.
J'ai bien les droits en écriture avec le compte test.
Ben non, si le serveur FTP répond "cannot create file", c'est que les
droits ne sont pas là... ou que le disque/quota est plein.
J'ai modifié deux lignes de mon script :
$monfichier = './monfichier.zip';
print_r(ftp_raw($ftp, "STOR $monfichier")); flush(); echo '<br>';
Array
(
[0] => 150 Opening BINARY mode data connection for monfichier.zip.
)
C'est déjà plus encourageant mais pas suffisant. La commande devrait
renvoyer en plus une réponse finale positive, genre 2nn
a+
--
P'tit Marcel
stats sur les forums modérés http://www.centrale-lyon.org/ng/
Qu'est ce qu'affiche ton script à l'exécution ? Spécifiquement, quellle est la réponse du serveur FTP à la commande STOR ? Est-ce que le compte test a le droit d'écrire sur son répertoire initial?
Voici ce qu'affiche le script quand je l'exécute : [0] => 550 monfichier.zip: Cannot create file.
J'ai bien les droits en écriture avec le compte test.
Ben non, si le serveur FTP répond "cannot create file", c'est que les droits ne sont pas là... ou que le disque/quota est plein.
J'ai modifié deux lignes de mon script : $monfichier = './monfichier.zip'; print_r(ftp_raw($ftp, "STOR $monfichier")); flush(); echo '<br>'; Array ( [0] => 150 Opening BINARY mode data connection for monfichier.zip. )
C'est déjà plus encourageant mais pas suffisant. La commande devrait renvoyer en plus une réponse finale positive, genre 2nn
a+ -- P'tit Marcel stats sur les forums modérés http://www.centrale-lyon.org/ng/
Olivier Miakinen
Si je suis ce que tu m'indique, je dois ouvrir un socket pour démarrer l'échange ?
Oui. Si je me rappelle bien, tu dois ouvrir un socket et te mettre en attente de connexion dessus. Tu dois aussi récupérer l'adresse et le port de ce socket (par exemple 192.168.3.7 et 1035). Tu dois ensuite envoyer ces infos au serveur, en décimal, octet par octet, avant (ou après, je ne sais plus) de donner ta commande de STOR : PORT 192,168,3,7,4,11 Enfin, lorsque la communication est établie sur l'autre socket, tu y envoies le contenu du fichier et à la fin tu fermes la socket.
Enfin voilà, c'est un truc comme ça. Au fait, pourquoi ne pas utiliser ftp_put qui fait tout ça pour toi ? Parce que le fichier n'existe pas physiquement sur ton disque ?
Si je suis ce que tu m'indique, je dois ouvrir un socket pour démarrer
l'échange ?
Oui. Si je me rappelle bien, tu dois ouvrir un socket et te mettre en
attente de connexion dessus. Tu dois aussi récupérer l'adresse et le
port de ce socket (par exemple 192.168.3.7 et 1035). Tu dois ensuite
envoyer ces infos au serveur, en décimal, octet par octet, avant (ou
après, je ne sais plus) de donner ta commande de STOR :
PORT 192,168,3,7,4,11
Enfin, lorsque la communication est établie sur l'autre socket, tu y
envoies le contenu du fichier et à la fin tu fermes la socket.
Enfin voilà, c'est un truc comme ça. Au fait, pourquoi ne pas utiliser
ftp_put qui fait tout ça pour toi ? Parce que le fichier n'existe pas
physiquement sur ton disque ?
Si je suis ce que tu m'indique, je dois ouvrir un socket pour démarrer l'échange ?
Oui. Si je me rappelle bien, tu dois ouvrir un socket et te mettre en attente de connexion dessus. Tu dois aussi récupérer l'adresse et le port de ce socket (par exemple 192.168.3.7 et 1035). Tu dois ensuite envoyer ces infos au serveur, en décimal, octet par octet, avant (ou après, je ne sais plus) de donner ta commande de STOR : PORT 192,168,3,7,4,11 Enfin, lorsque la communication est établie sur l'autre socket, tu y envoies le contenu du fichier et à la fin tu fermes la socket.
Enfin voilà, c'est un truc comme ça. Au fait, pourquoi ne pas utiliser ftp_put qui fait tout ça pour toi ? Parce que le fichier n'existe pas physiquement sur ton disque ?