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

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

Votre réponse

6 réponses

Meilleure réponse
Messages postés
962
Date d'inscription
samedi 19 janvier 2002
Dernière intervention
2 août 2010
8 déc. 2007 à 02:21
3
Merci
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  

Merci yoman64 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 90 internautes ce mois-ci

Commenter la réponse de yoman64
Meilleure réponse
Messages postés
962
Date d'inscription
samedi 19 janvier 2002
Dernière intervention
2 août 2010
8 déc. 2007 à 02:51
3
Merci
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  

Merci yoman64 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 90 internautes ce mois-ci

Commenter la réponse de yoman64
Messages postés
962
Date d'inscription
samedi 19 janvier 2002
Dernière intervention
2 août 2010
7 déc. 2007 à 01:37
0
Merci
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
Messages postés
2116
Date d'inscription
jeudi 16 septembre 2004
Dernière intervention
23 septembre 2018
7 déc. 2007 à 18:17
0
Merci
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
Messages postés
294
Date d'inscription
jeudi 8 février 2007
Dernière intervention
3 décembre 2012
8 déc. 2007 à 01:56
0
Merci
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
Messages postés
294
Date d'inscription
jeudi 8 février 2007
Dernière intervention
3 décembre 2012
8 déc. 2007 à 02:43
0
Merci
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.