IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques et frameworks PHP Discussion :

[cURL] Lancer une commande curl dans un script php


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre actif Avatar de griese
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    646
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juin 2006
    Messages : 646
    Points : 281
    Points
    281
    Par défaut [cURL] Lancer une commande curl dans un script php
    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

  2. #2
    Membre averti Avatar de deY!
    Inscrit en
    Avril 2006
    Messages
    403
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Avril 2006
    Messages : 403
    Points : 414
    Points
    414
    Par défaut
    Je ne sais pas ce que c'est, mais voila ce que j'ai trouvé...


    http://fr.php.net/curl

  3. #3
    Membre expérimenté

    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    1 138
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 138
    Points : 1 504
    Points
    1 504
    Par défaut
    Curl se trouve en module sur apache donc utilisable via php est une syntaxe relativement simple.

    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;
    par exemple.

  4. #4
    Membre actif Avatar de griese
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    646
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juin 2006
    Messages : 646
    Points : 281
    Points
    281
    Par défaut transfert en curl dans un script php
    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 :
    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");
    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 ?

  5. #5
    Membre actif Avatar de griese
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    646
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juin 2006
    Messages : 646
    Points : 281
    Points
    281
    Par défaut
    Bon j'ai essayé une autre méthode :
    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");
    ?>
    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

  6. #6
    Membre expérimenté

    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    1 138
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 138
    Points : 1 504
    Points
    1 504
    Par défaut
    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 .

  7. #7
    Membre actif Avatar de griese
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    646
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juin 2006
    Messages : 646
    Points : 281
    Points
    281
    Par défaut
    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à :
    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);
    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 ?

  8. #8
    Membre actif Avatar de griese
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    646
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juin 2006
    Messages : 646
    Points : 281
    Points
    281
    Par défaut
    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

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Execution d'une commande telnet dans un script sh
    Par Nospher dans le forum Linux
    Réponses: 17
    Dernier message: 23/08/2011, 15h30
  2. Lancer une commande Perl dans un script Shell
    Par Ryo_san dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 02/06/2008, 11h01
  3. lancer une commande linux dans un script perl
    Par hammag dans le forum Langage
    Réponses: 1
    Dernier message: 21/11/2007, 16h18
  4. Réponses: 5
    Dernier message: 16/03/2007, 12h16
  5. lancer une commande dos dans une page ASP
    Par noznoz78 dans le forum ASP
    Réponses: 4
    Dernier message: 13/02/2006, 19h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo