Lire le contenu d'un fichier distant direct par FTP? [Résolu]

Signaler
Messages postés
294
Date d'inscription
jeudi 8 février 2007
Statut
Membre
Dernière intervention
3 décembre 2012
-
Messages postés
962
Date d'inscription
samedi 19 janvier 2002
Statut
Membre
Dernière intervention
2 août 2010
-
Slaut à tous,

Voila, est ce que je peut faire directement ca pour lire le contenue d'un fichier sur un serveur ftp ou il fau que je le télécharge sur mon poste local au préalable?

fp = fopen("ftp://phpfrance.com/pub/fichier.txt","r");

PS: j'ai même essayé en ouvrant une session FTP comme suit, la connection s'etablie mais le fichier n'est pas lue!!

// création de la connection
$conn_id = ftp_connect("$ftp_server");
// authentification avec user et password
$login_result = ftp_login($conn_id, "$user", "$user_pass");
// vérification de la connexion
if ((!$conn_id) || (!$login_result)) {
        echo "La connexion FTP a échoué!";
        echo "Tentative de connexion à $ftp_server avec $user";
        die;
    } else {
        echo "Connecté à $ftp_server, avec $user";
    }

Si vous avez une solution, sinon une confirmation pour le download total de fichier sur mon disk!

merci!

6 réponses

Messages postés
962
Date d'inscription
samedi 19 janvier 2002
Statut
Membre
Dernière intervention
2 août 2010

Visiblement Php arrive pas a téléchargé le fichier puisque ça bloque sur RETR , en FTP lorsque ça arrive c'est souvent un problème de permission, ça peut être aussi parce que le fichier n'existe pas.

Vérifie que depuis un client FTP standard (comme filezilla) si tu es capable de télécharger 2.txt depuis la racine du FTP.
Si tu es capable vérifie si le chemin est bon et essait de changé les permissions (chmod 777) pour voir.

-------------------
Vous cherchez un hebergement Php/MySQL Gratuit et sans publicités ??
Et bien c'est la : www.e3b.org  
Messages postés
962
Date d'inscription
samedi 19 janvier 2002
Statut
Membre
Dernière intervention
2 août 2010

Php a quelques extensions pour le cryptage, comme mcrypt qui propose plusieurs algo

http://ca.php.net/manual/fr/ref.mcrypt.php

Mais pourquoi as-tu besoin des les récuperés ? tu pourrais les hashé , c'est plus sur.
-------------------
Vous cherchez un hebergement Php/MySQL Gratuit et sans publicités ??
Et bien c'est la : www.e3b.org  
Messages postés
962
Date d'inscription
samedi 19 janvier 2002
Statut
Membre
Dernière intervention
2 août 2010

Salut,
pour lire avec fopen la syntaxe est plutot:
$fp = fopen("ftp://username:password@phpfrance.com/pub/fichier.txt","r");

Sinon ton ftp tu envois aucune commande pour que ton fichier soit téléchargé alors tu t'attend a quoi?

Une fois connecté tu dois utilisé ftp_fget ...

Je réinventerai pas la roue, voici un exemple tiré de php.net:

<?php

// Chemin vers le fichier distant
$remote_file  = 'somefile.txt';
$local_file = 'localfile.txt';

// Ouverture du fichier pour écriture
$handle = fopen('local_file.txt', 'w');

// Mise en place d'une connexion basique
$conn_id = ftp_connect($ftp_server);

// Identification avec un nom d'utilisateur et un mot de passe
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// Tente de téléchargement le fichier $remote_file et de le sauvegarder dans $handle
if (ftp_fget($conn_id, $handle, $remote_file, FTP_ASCII, 0)) {
 echo "Ecriture dans le fichier $local_file avec succès\n";
} else {
 echo "Il y a un problème lors du téléchargement du fichier $remote_file dans $local_file\n";
}

// Fermeture de la connexion et du pointeur de fichier
ftp_close($conn_id);
fclose($handle);
?>



-------------------
Vous cherchez un hebergement Php/MySQL Gratuit et sans publicités ??
Et bien c'est la : www.e3b.org  
Messages postés
2080
Date d'inscription
jeudi 16 septembre 2004
Statut
Membre
Dernière intervention
4 novembre 2019
1
Mais qu'elle est l'intérêt de cette syntaxe
    ftp_connect("$ftp_server");

pourquoi ne pas utiliser
    ftp_connect($ftp_server);

????

Flachy Joe

Ta vie t'est prêtée, fais en un cadeau.
Messages postés
294
Date d'inscription
jeudi 8 février 2007
Statut
Membre
Dernière intervention
3 décembre 2012

Resalut,


J'ai essayé avec le code que m'a donné yoman64en le bidouillon un peut, just les paramétre de mon serveur FTP:

<?php



require("ftp_config.inc");




// Chemin vers le fichier distant
$remote_file = '2.txt';
$local_file = 'localfile.txt';




// Ouverture du fichier pour écriture
$handle = fopen('local_file.txt', 'w');




// Mise en place d'une connexion basique
$conn_id = ftp_connect($ftp_server);




// Identification avec un nom d'utilisateur et un mot de passe
$login_result = ftp_login($conn_id, $user_name, $user_pass);




// Tente de téléchargement le fichier $remote_file et de le sauvegarder dans $handle
if (ftp_fget($conn_id, $handle, $remote_file, FTP_ASCII, 0)) {
 echo "Ecriture dans le fichier $local_file avec succès\n";
} else {
 echo "Il y a un problème lors du téléchargement du fichier $remote_file dans $local_file\n";
}




// Fermeture de la connexion et du pointeur de fichier
ftp_close($conn_id);
fclose($handle);
?>

Mais ca donne ca:

Warning: ftp_fget(): Cannot RETR. in c:\users\el_diablo\desktop\squid_log\ftp_get.php on line 19
Il y a un problème lors du téléchargement du fichier 2.txt dans localfile.txt








PS: pour le :
  ftp_connect("$ftp_server");
c'est une erreur de frappe, c'etai   ftp_connect("127.0.0.1"); pui j'ai changer.......mais ca passe qussi avc les ""!
Messages postés
294
Date d'inscription
jeudi 8 février 2007
Statut
Membre
Dernière intervention
3 décembre 2012

C'etai une question de permission, merci bocoup, sinon je travaille pas sur unix, je l'emule sur mon ordi le serveur FTP!!!! merci bocoup ca marche maintenant!!!

J'enprofite pour poser une autre question: j'ai realiser un script qui ajout un compte et mot de passe sur une table user dans MYSQL, je voudré les ajouté crypter, puis surtout pouvoir les decrypter dans l'authentifiaction dans un autre script!