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] Upload fichier avec la méthode POST


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre à l'essai
    Inscrit en
    Mai 2009
    Messages
    17
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Mai 2009
    Messages : 17
    Points : 15
    Points
    15
    Par défaut [cURL] Upload fichier avec la méthode POST
    Bonjour à tous,

    Je développe actuellement une petite application web qui utilise l'API d'un site web tiers. J'ai besoin d'uploader des images sur leur serveur et j'expérience des difficultés avec l'extension CURL.

    Pour cela, j'utilise la méthode POST. Voici le code:

    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
     
    // le nom du serveur de l'API
    define ('HOSTNAME_UPLOAD', 'http://upload.cafepress.com/');
     
    // voici les paramètres dont j'ai besoin pour l'upload
    $api_key = $_POST['key']; // clef de l'API
    $user_token = $_POST['token']; // numéro de session fourni par l'API après identification
     
    //URL vers laquelle on va effectuer l'upload
    $url = HOSTNAME_UPLOAD."image.upload.cp";
     
    // ouverture de la session curl
    $session = curl_init($url);
     
    //Création des champs du formulaire
    $postvars = array();
    $postvars['userToken'] = $user_token;
    $postvars['appKey'] = $api_key;
    $postvars['folder'] = 'Images';
    $postvars['cpfile1'] = '@'.realpath('test.jpg'); // voici l'image que je veux upload, elle se trouve par ailleurs dans le même dossier que ce script
     
    curl_setopt($session, CURLOPT_POST, true); // méthode POST
    curl_setopt($session, CURLOPT_POSTFIELDS, $postvars); // les champs du formulaire
     
    // Je ne veux pas récupérer les headers mais juste le xml retourné par l'API
    curl_setopt($session, CURLOPT_HEADER, false);
    curl_setopt($session, CURLOPT_RETURNTRANSFER, true);
     
    // on fait l'appel
    $xml = curl_exec($session);
     
    // le service retourne du xml
    header("Content-Type: text/xml");
     
    echo $xml;
    curl_close($session);
    Le souci vient apparemment de l'upload du fichier (car je suis correctement identifié, pas de soucis de ce côté là). Tout indique que les bits de l'image ne sont tout simplement pas envoyés.

    En parcourant la doc, j'ai essayé d'inclure cette ligne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    curl_setopt($session, CURLOPT_UPLOAD, true);
    Mais le serveur ne l'accepte pas et me renvoit une erreur du type: "Unsupported request".

    J'avoue être à court d'idée...
    Merci pour tout l'aide que vous pourrez m'apporter!

    Pierre

  2. #2
    Membre à l'essai
    Inscrit en
    Mai 2009
    Messages
    17
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Mai 2009
    Messages : 17
    Points : 15
    Points
    15
    Par défaut
    Problème résolu, en parcourant de fond en comble la doc de l'API, il s'agit en fait d'une stupide erreur de syntaxe:
    'cpFile1' au lieu de 'cpfile1'...

    En espérant que cet exemple puisse aider quelqu'un!

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

Discussions similaires

  1. upload fichiers via la méthode POST
    Par shiin dans le forum Réseau
    Réponses: 3
    Dernier message: 20/02/2007, 10h54
  2. Plusieurs formulaires dans un fichier avec plusieurs méthodes post
    Par cyberdevelopment dans le forum Langage
    Réponses: 2
    Dernier message: 17/08/2006, 15h04
  3. PHP5: difficulté avec la méthode post
    Par koueletbak dans le forum Langage
    Réponses: 10
    Dernier message: 14/04/2006, 11h07
  4. Pb de suppression d'un fichier avec la méthode File.delete()
    Par benzing dans le forum Entrée/Sortie
    Réponses: 5
    Dernier message: 21/01/2006, 15h48
  5. [AJAX] upload fichiers avec AJAX
    Par jibouze dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 08/12/2005, 21h04

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