Maison > Article > développement back-end > Comment publier une chaîne de fichier en utilisant cURL en PHP sans fichiers temporaires ?
La tâche d'envoyer un fichier avec d'autres données de formulaire devient plus complexe lorsque le fichier est représenté uniquement sous forme de chaîne. Ce tutoriel montre comment utiliser cURL en PHP pour construire la requête et contourner la création de fichiers temporaires.
L'analyse d'un exemple de requête POST à partir d'un navigateur révèle une structure de données en plusieurs parties/formulaire avec un frontière unique. La réplication manuelle de ce format implique :
--boundary Content-Disposition: form-data; name="otherfield" Content-Type: text/plain other field content --boundary Content-Disposition: form-data; name="filename"; filename="test.jpg" Content-Type: image/jpeg raw JPEG data --boundary--
<code class="php">$options = array( // Send post data over a POST request CURLOPT_POST => true, CURLOPT_HTTPHEADER => array( // Content-type to multipart/form-data with boundary 'Content-Type: multipart/form-data; boundary='.$delimiter, // Content-Length to the length of our multipart form data 'Content-Length: ' . strlen($data) ) );</code>
<code class="php">curl_setopt($handle, CURLOPT_POSTFIELDS, $data); curl_exec($handle);</code>
En créant le corps et en définissant les en-têtes appropriés, nous simulons une requête POST depuis un navigateur et évitons de créer des fichiers temporaires.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!