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

El_Diablo666 294 Messages postés jeudi 8 février 2007Date d'inscription 3 décembre 2012 Dernière intervention - 7 déc. 2007 à 01:17 - Dernière réponse : yoman64 962 Messages postés samedi 19 janvier 2002Date d'inscription 2 août 2010 Dernière intervention
- 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!
Afficher la suite 

6 réponses

Répondre au sujet
yoman64 962 Messages postés samedi 19 janvier 2002Date d'inscription 2 août 2010 Dernière intervention - 8 déc. 2007 à 02:21
+3
Utile
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  
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de yoman64
yoman64 962 Messages postés samedi 19 janvier 2002Date d'inscription 2 août 2010 Dernière intervention - 8 déc. 2007 à 02:51
+3
Utile
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  
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de yoman64
yoman64 962 Messages postés samedi 19 janvier 2002Date d'inscription 2 août 2010 Dernière intervention - 7 déc. 2007 à 01:37
0
Utile
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  
Commenter la réponse de yoman64
Flachy Joe 2115 Messages postés jeudi 16 septembre 2004Date d'inscription 23 novembre 2017 Dernière intervention - 7 déc. 2007 à 18:17
0
Utile
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.
Commenter la réponse de Flachy Joe
El_Diablo666 294 Messages postés jeudi 8 février 2007Date d'inscription 3 décembre 2012 Dernière intervention - 8 déc. 2007 à 01:56
0
Utile
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 ""!
Commenter la réponse de El_Diablo666
El_Diablo666 294 Messages postés jeudi 8 février 2007Date d'inscription 3 décembre 2012 Dernière intervention - 8 déc. 2007 à 02:43
0
Utile
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!
Commenter la réponse de El_Diablo666

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.