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

Langage PHP Discussion :

Simuler un formulaire avec un fichier dedans


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 47
    Par défaut Simuler un formulaire avec un fichier dedans
    Bonjour,
    Voilà je suis en stage et je travail avec scene7 j'utilise l'api pour upload et très simplement quand je fait un formulaire tout simle comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <form action="https://s7ugc3.scene7.com/ugc/image?op=upload&upload_token=<?=$token; ?>&company_name=<?=$cpnname?>" method="post" enctype="multipart/form-data">
            <p>
                    Formulaire d'envoi de fichier :<br />
                    <input type="file" name="image" /><br />
                    <input type="submit" value="Envoyer le fichier" />
            </p>
    </form>
    Ceci m envoi sur la page voulu bien sur et me renvoi un fichier xml avec les infos dont j'ai besoin (nottament l'url de l'image mtn qu elle est upload).

    Ce que je cherches à faire moi c'est d'automatiser ça en gros de simuler ce post j'ai bien tenter avec la bibli curl mais j ai fail...


    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
       $query = http_build_query(array('op' => 'upload', 'upload_token' => $token ,'company_name' => $cpnname));
        $url = "https://s7ugc3.scene7.com/ugc/image?$query";
     
     
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_HEADER, 0);
        curl_setopt($ch, CURLOPT_VERBOSE, 0);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible;)");
        curl_setopt($ch, CURLOPT_URL,$url);
        curl_setopt($ch, CURLOPT_POST, true);
        // same as <input type="file" name="file_box">
     
     
     
            $post = array( "photo" => '@'.$file_path );
     
        curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
        $response = curl_exec($ch);
    C'est possible que ce code fonctionne mais j'ai aucun moyen de récup le xml et du coup l'url donc forcément l'utilité est assez limitée .

    Merci beaucoup de toute les ideés que vous pourriez m'apporter!

    Cordialement,

    Lomi

  2. #2
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    t'as bien mis le @ dans ton $file_path ?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 47
    Par défaut
    héhé stealth mon sauveur comme d'hab ! cependant celle ci je l avais déjà vu ca n'a rien changer le " $post = array( "photo" => '@'.$file_path );"

    tu aurais pas d'autre piste que Curl sinon? car curl me sors par les trou de nez, en fait envoyer un post quand y a pas de files c est plutôt simple , mais envoyer un post quand y a un file et qu'il faut récupérer la réponse ça deviens beaucoup plus tendu

  4. #4
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    il doit être en realpath
    CURLOPT_POSTFIELDS

    Toutes les données à passer lors d'une opération de HTTP POST. Pour envoyer un fichier, préfixez le nom du fichier avec un @ et utilisez le chemin complet. Le type de fichier peut être explicitement spécifié en faisant suivre le nom du fichier par le type au format ';type=mimetype'. Ce paramètre peut être passé sous la forme d'une chaîne encodée URL, comme 'para1=val1&para2=val2&...' ou sous la forme d'un tableau dont le nom du champ est la clé, et les données du champ la valeur. Si le paramètre value est un tableau, l'en-tête Content-Type sera définie à multipart/form-data. Depuis PHP 5.2.0, les fichiers utilisés dans cette fonction et préfixés par le symbole @ doivent être présents sous forme de tableau pour fonctionner.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 47
    Par défaut
    mon
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     $post = array( "photo" => '@'.$file_path );
    = @var/user/9/Z/h/Screenshot.png c'est pas bon ? dsl les path absolu ou relatif sur linux je suis pas trop :p (mais a priori celui la est absolu )

  6. #6
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    non pas bon :

    @/var/user/9/Z/h/Screenshot.png

Discussions similaires

  1. comment creer un dossier avec un fichier dedans?
    Par hacker59 dans le forum VB.NET
    Réponses: 14
    Dernier message: 14/03/2014, 19h40
  2. Réponses: 0
    Dernier message: 11/07/2012, 17h38
  3. Formulaire avec upload fichier et servlet
    Par koktel_dfr dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 12/07/2011, 10h18
  4. [Système] Simuler un formulaire avec fsockopen()
    Par cyriltra dans le forum Langage
    Réponses: 6
    Dernier message: 25/07/2006, 21h35
  5. Réponses: 10
    Dernier message: 10/05/2006, 10h23

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