Bonjour à tous,
Voilà, j'aimerai pouvoir lancer une commande curl dans un script php. Selon vous est-ce possible ? Si oui comment réaliser ce miracle ? Merci pour votre aide
Bonjour à tous,
Voilà, j'aimerai pouvoir lancer une commande curl dans un script php. Selon vous est-ce possible ? Si oui comment réaliser ce miracle ? Merci pour votre aide
Je ne sais pas ce que c'est, mais voila ce que j'ai trouvé...
http://fr.php.net/curl
Curl se trouve en module sur apache donc utilisable via php est une syntaxe relativement simple.
par exemple.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 $mon_url="http://www.developpez.com"; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $mon_url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $page=curl_exec ($ch); return $page;
Bonjour à tous,
J'aimerai savoir comment faire pour télécharger un fichier d'un serveur ftp en passant par une commande curl. Et tout cela dans un script php. J'ai fait ça :
Mais je n'ai rien qui s'affiche sur ma page php. Du coup je sais pas si il a téléchargé le fichier de conf et si oui, où il l'a mis. Auriez vous des idées s'il vous plaît ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part exec("curl --ftp -T 20:03:A3:80:19:9D.conf ftp://'00:16:AE:79:C8:08':c0hufcgr@conf.orange.fr:21");
Bon j'ai essayé une autre méthode :
Mais le souci c'est que dans mon user, j'ai le caractère :, il a cette tete 324:45. Comme le user et le mdp sont séparé par le caractère :, pour mon ftp le user est 324 et le mdp est 45mdp. Donc quelqu'un saurait'il comment faire pour que mon : ne soit pas pris en compte comme séparateur entre le user et le mdp mais comme faisant partie du user ? Merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 <?php $ch = curl_init(); // create cURL handle (ch) if (!$ch) { die("Couldn't initialize a cURL handle"); } // set some cURL options $ret = curl_setopt($ch, CURLOPT_URL, "site_ftp"); $ret = curl_setopt($ch, CURLOPT_VERBOSE, 1); $ret = curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); $ret = curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $ret = curl_setopt($ch, CURLOPT_TIMEOUT, 30); $ret = curl_setopt($ch, CURLOPT_USERPWD, 'user:mdp'); $ret = curl_setopt($ch, CURLOPT_INFILE, 'fichier'); curl_exec($ch); $handle = fopen("ftp://user:mdp@site_ftp/fichier", "w"); ?>
Le probleme dans ce cas c'est que c'est la nomenclature officielle pour accéder à un ftp
ftp://user:mdp@www.site.com et donc son interprétation est logique, faudrait voir si on peut pas y arriver en encodant le ":" du user. je crois que le code pour ":" est %3a ou alors utiliser urlencode.
Ceci dit, je ne suis pas sur que ca marche .
Bon en remplacant les ":" par %3a, ca marche, mais le souci, c'est que je dois configurer curl pour que mon client ftp sois en mode passif. Du coup je suis obligé de modifier mon script et donc voilà :
Et du coup je me retrouve avec le meme souci que prédement, curl (ou php) interprete le user comme étant mon et le pass comme étant user:pass. J'ai essayé de remplacer le ":" par %3a, mais dans ce cas mon user devient mon%3auser et du coup cela ne marche pas non plus. Une idée ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 $ch = curl_init(); // create cURL handle (ch) if (!$ch) { die("Couldn't initialize a cURL handle"); } // set some cURL options $ret = curl_setopt($ch, CURLOPT_URL, "ftp://mn_ftp"); $ret = curl_setopt($ch, CURLOPT_VERBOSE, 1); $ret = curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); $ret = curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $ret = curl_setopt($ch, CURLOPT_TIMEOUT, 30); $ret = curl_setopt($ch, CURLOPT_USERPWD, 'mon:user:pass'); $ret = curl_setopt($ch, CURLOPT_INFILE, 'fichier.txt'); $ret = curl_setopt($ch, CURLOPT_FTP_USE_EPSV, FALSE); curl_exec($ch); curl_getinfo($ch);
Bon j'ai laissé tombé curl, trop compliqué, j'ai fais ça un php tout simplement. Et ça marche très bien. Merci à vous pour votre aide
Partager