Page 1 sur 1

Téléchargements de fichiers en ligne sur l'FTP

Posté : 26 août 2015, 09:46
par chaima.abdouli
Bonjour,


Bon j'ai un souci si quelqu'un a une idée comment je peux le faire!
Je veux préparer un script je vous explique d'abord :
Y'a des fiches produits qui se lancent automatiquement par un ensemble de fournisseurs directement dans l'FTP !par contre,
Y'en a d'autres fournisseurs , on est obligé de passer par leurs sites de s'identifier d'aller dans une page de leurs sites pour télécharger les fiches produits quotidiennement et après je lance mes scripts a moi pour la mise à jour !
Ce que je dois faire c'est de faire ça automatiquement je développe un script avec lequel on télécharge les fichiers qui se trouvent dans des url ( avec login et mdp) et de les lancer dans l'FTP a travers l'FTP je dois pas passer par le local !

Any idea???

Re: Téléchargements de fichiers en ligne sur l'FTP

Posté : 26 août 2015, 11:06
par @rthur
Bonjour,

Ça ne veut rien dire "lancer des fichiers dans un FTP".

FTP est un protocole de transfert de fichiers, donc tu peux :
- soit télécharger (=download) des fichiers d'un serveur distant vers un serveur local
- soit envoyer (=upload) des fichiers d'un serveur local vers un serveur distant

Re: Téléchargements de fichiers en ligne sur l'FTP

Posté : 26 août 2015, 11:19
par chaima.abdouli
Je ne peux pas télécharger des fichiers à partir de leurs url en ligne directement dans mon FTP sans passer par le local?

Re: Téléchargements de fichiers en ligne sur l'FTP

Posté : 26 août 2015, 11:48
par @rthur
Je ne peux pas télécharger des fichiers à partir de leurs url en ligne directement dans mon FTP sans passer par le local?
La réponse est non, car tu dois passer par du PHP qui va faire office de passerelle entre les deux et donc stocker le fichier en mémoire pour le transférer ensuite en FTP.

Re: Téléchargements de fichiers en ligne sur l'FTP

Posté : 26 août 2015, 12:22
par chaima
Voila c'est ce que j'ai voulu faire un script en PHP qui me permet de faire ça ! de faire le lien entre les deux sans le faire manuellement à chaque fois ! donc avez vous une idée par quoi commencer pour développer ce script ?

ce code permet le telechargement d'un fichier depuis son url mais comment le mettre directement dans l'FTP via un script bien sur :

Code : Tout sélectionner

<?php function download_remote($url , $save_path) { $f = fopen( $save_path , 'w+'); $handle = fopen($url , "rb"); while (!feof($handle)) { $contents = fread($handle, 8192); fwrite($f , $contents); } fclose($handle); fclose($f); } ?>
I find his one too but I'm really confused

Code : Tout sélectionner

<?php $login_url = 'http://www.somesite.com/login.php'; //These are the post data username and password $post_data = 'username=someusername&password=somepassword'; //Create a curl object $ch = curl_init(); //Set the useragent $agent = $_SERVER["HTTP_USER_AGENT"]; curl_setopt($ch, CURLOPT_USERAGENT, $agent); //Set the URL curl_setopt($ch, CURLOPT_URL, $login_url ); //This is a POST query curl_setopt($ch, CURLOPT_POST, 1 ); //Set the post data curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data); //We want the content after the query curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //Follow Location redirects curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); /* Set the cookie storing files Cookie files are necessary since we are logging and session data needs to be saved */ curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt'); curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookie.txt'); //Execute the action to login $postResult = curl_exec($ch); ?>

Re: Téléchargements de fichiers en ligne sur l'FTP

Posté : 26 août 2015, 14:50
par @rthur
Ok, quand je parle de serveur local et serveur distant en parlant d'un FTP, le serveur local, c'est celui qui exécute ton code PHP donc pas ton ordinateur perso à priori.

Sinon sur le comment faire, je t'ai déjà répondu ici : post438268.html#p438268
Où bloques-tu ? Qu'as-tu essayé ?

Re: Téléchargements de fichiers en ligne sur l'FTP

Posté : 26 août 2015, 16:58
par chaima
Bon mon script sera fait sur 3 étapes la première étape qui est la connexion à distance à l'url et m'y connecter a l'aide d'un login et mdp pré mentionnés dans le script :

j'ai lancé ce script et ça me retourne une page blanche( je travaille dans un environnement local ) comment je peux connaitre l'erreur ? merci

Code : Tout sélectionner

<?php //$url the URL of the supplier $login_url = 'http://www.suppliersexample.com/'; //These are the post data username and password $post_data = 'username=blabla&password=blabla'; //Create a curl object $ch = curl_init(); //Set the useragent //$agent = $_SERVER["HTTP_USER_AGENT"]; $agent = "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36"; //I'm not sure about it if we should write the agent user that way or not curl_setopt($ch, CURLOPT_USERAGENT, $agent); //Set the URL curl_setopt($ch, CURLOPT_URL, $login_url ); //This is a POST query curl_setopt($ch, CURLOPT_POST, 1 ); //Set the post data curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data); //We want the content after the query curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //Follow Location redirects curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); /* Set the cookie storing files Cookie files are necessary since we are logging and session data needs to be saved */ curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt'); curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookie.txt'); //Execute the action to login $postResult = curl_exec($ch); //Var_dump ($postresult); ?>

Re: Téléchargements de fichiers en ligne sur l'FTP

Posté : 26 août 2015, 18:09
par @rthur
j'ai lancé ce script et ça me retourne une page blanche( je travaille dans un environnement local ) comment je peux connaitre l'erreur ?
En regardant dans les logs ou en activant l'affichage des messages d'erreur : post433101.html#p433101

Re: Téléchargements de fichiers en ligne sur l'FTP

Posté : 31 août 2015, 10:38
par chaima
J'ai eu ca à l'écran en laçant le script à travers mon navigateur !!! Any idea?

string '
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr-fr" lang="fr-fr">
<head>
<meta http-equiv="X-UA-Compatible" content="chrome=1"/>


<base href="http://www.hjcb2b.com/fr.html" />
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<meta name="robots" content="index, follow" />
<meta name="keywords" content="pro, store, hjc, europe, helmet, accessories, z'... (length=21911)

Re: Téléchargements de fichiers en ligne sur l'FTP

Posté : 31 août 2015, 10:53
par @rthur
Bah, c'est pas le contenu HTML de la page que tu essayes de récupérer ???

Re: Téléchargements de fichiers en ligne sur l'FTP

Posté : 31 août 2015, 11:24
par chaima
Tout à fait ! sauf que je ne veux pas récupérer son code source je veux accéder à la page a travers mon script et l'identification se fait automatiquement à travers le script ainsi que le téléchargement !
Donc comme première étape , j'ai essayé ce script pour l’accès à la page et l'identification !