recherche

Maison  >  Questions et réponses  >  le corps du texte

Envoyer le fichier PDF stocké sur le serveur à un autre serveur via les données du formulaire Curl PHP

<p>J'essaie d'envoyer un fichier PHP stocké sur mon serveur vers un autre serveur via la méthode Curl PHP Form Data. </p> <p>Normalement, cela se fait en soumettant le formulaire, en téléchargeant un fichier et en envoyant le même fichier comme données du formulaire au point de terminaison Curl PHP, mais dans ce cas, j'ai déjà le fichier sur mon serveur et je suis bloqué sur la façon dont pour obtenir le fichier, créer son tableau de données de formulaire et envoyer l'URL de l'API comme méthode de publication. </p> <p>Vous trouverez ci-dessous une sorte de programme que j'essaie. L'un d'eux consiste à créer un fichier tmp, à y stocker des données et à envoyer ces données de l'emplacement tmp aux données du formulaire curl. </p> <p>$source = file_get_contents("https://url/employee_manual3.pdf");</p> <pre class="brush:php;toolbar:false;">$tempFile = tempnam(sys_get_temp_dir(), 'File_'); renommer($tempFile, $tempFile .= '.pdf'); file_put_contents($tempFile, $source); // var_dump($tempFile); //sortie; // $post = tableau( // "Fichier téléchargé" => "@" . // ); // var_dump(file_get_contents($tempFile)); // var_dump(nouveau CURLFILE($tempFile)); //sortie; $curl = curl_init(); curl_setopt_array($curl, tableau( CURLOPT_URL => 'https://API_URL', CURLOPT_RETURNTRANSFER => CURLOPT_ENCODING => CURLOPT_MAXREDIRS => CURLOPT_TIMEOUT => CURLOPT_FOLLOWLOCATION => CURLOPT_HTTP_VERSION => CURLOPT_CUSTOMREQUEST => CURLOPT_POSTFIELDS => tableau('fichier' => nouveau CURLFILE($tempFile)), CURLOPT_HTTPHEADER => 'Autorisation : Porteur API TOKEN HAI MERA', 'Type de contenu : multipart/form-data', 'Cookie : PRINCIPAL NAHI BATAUNGA' ), )); $réponse = curl_exec($curl); curl_close($curl); echo $response;</pre> <pre class="brush:php;toolbar:false;"></pre></p>
P粉521748211P粉521748211440 Il y a quelques jours538

répondre à tous(1)je répondrai

  • P粉321676640

    P粉3216766402023-09-01 00:09:52

    Bonjour, vous pouvez consulter la réponse ci-dessous pour voir comment j'ai réussi à y parvenir.

    // $source = file_get_contents("https://URL/assets/email_images/employee_manual3.pdf");
    
        $file_path = __DIR__.'/../../../assets/email_images/employee_manual3.pdf';
    
        // var_dump(__DIR__.'/../../../assets/email_images/employee_manual3.pdf');
        // exit;
    
        // var_dump(new CURLFILE($file_path, 'application/pdf', 'file'));
        // exit;
    
        $curl = curl_init();
    
        curl_setopt_array($curl, array(
            CURLOPT_URL => 'API URL',
            CURLOPT_RETURNTRANSFER => true,
            CURLOPT_ENCODING => '',
            CURLOPT_MAXREDIRS => 10,
            CURLOPT_TIMEOUT => 0,
            CURLOPT_FOLLOWLOCATION => true,
            CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
            CURLOPT_CUSTOMREQUEST => 'POST',
            CURLOPT_POSTFIELDS => array('file' => new CURLFILE($file_path, 'application/pdf', 'file')),
        ));
    
        $response = curl_exec($curl);
    
        curl_close($curl);
        echo $response;

    répondre
    0
  • Annulerrépondre