Lire le contenu d'un fichier distant direct par FTP?

Résolu
El_Diablo666 Messages postés 294 Date d'inscription jeudi 8 février 2007 Statut Membre Dernière intervention 3 décembre 2012 - 7 déc. 2007 à 01:17
yoman64 Messages postés 962 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 2 août 2010 - 8 déc. 2007 à 02:51
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

yoman64 Messages postés 962 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 2 août 2010 2
8 déc. 2007 à 02:21
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  
3
yoman64 Messages postés 962 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 2 août 2010 2
8 déc. 2007 à 02:51
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  
3
yoman64 Messages postés 962 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 2 août 2010 2
7 déc. 2007 à 01:37
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  
0
Flachy Joe Messages postés 2103 Date d'inscription jeudi 16 septembre 2004 Statut Membre Dernière intervention 21 novembre 2023 1
7 déc. 2007 à 18:17
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.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
El_Diablo666 Messages postés 294 Date d'inscription jeudi 8 février 2007 Statut Membre Dernière intervention 3 décembre 2012
8 déc. 2007 à 01:56
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 ""!
0
El_Diablo666 Messages postés 294 Date d'inscription jeudi 8 février 2007 Statut Membre Dernière intervention 3 décembre 2012
8 déc. 2007 à 02:43
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!
0
Rejoignez-nous