Comment publier une chaîne de fichier avec cURL en PHP : un guide étape par étape

Susan Sarandon
Libérer: 2024-10-17 18:36:02
original
810 Les gens l'ont consulté

How to POST a File String with cURL in PHP: A Step-by-Step Guide

POSTer une chaîne de fichier avec cURL en PHP

Dans le développement Web, la transmission de fichiers avec les données de formulaire est une exigence courante. Alors que cURL offre une méthode simple pour POST des fichiers à partir du système de fichiers, cet article explore une technique pour POST un fichier directement sous forme de chaîne, en contournant le besoin de création de fichiers temporaires.

Construction des données POST

La clé réside dans la construction manuelle du corps de la requête multipart/form-data. Commencez par séparer les champs du formulaire des téléchargements de fichiers. Pour chaque champ non-fichier, créez une section de données de formulaire avec le nom et la valeur du champ.

Ensuite, pour chaque fichier à télécharger, créez une section de données de formulaire avec le nom du fichier, le type MIME et contenu réel du fichier.

Définition des en-têtes

Pour simuler un POST de type navigateur, définissez les en-têtes appropriés :

<code class="php">'Content-Type: multipart/form-data; boundary=' . $delimiter
'Content-Length: ' . strlen($data)</code>
Copier après la connexion

où $delimiter est une chaîne unique qui sépare chacun section des données du formulaire.

Faire la demande

<code class="php">$handle = curl_init($url);
curl_setopt($handle, CURLOPT_POST, true);
curl_setopt($handle, CURLOPT_HTTPHEADER , array(
    'Content-Type: multipart/form-data; boundary=' . $delimiter,
    'Content-Length: ' . strlen($data)));  
curl_setopt($handle, CURLOPT_POSTFIELDS, $data);
curl_exec($handle);</code>
Copier après la connexion

En construisant le corps multipart/form-data et en définissant les en-têtes nécessaires, cURL peut POST de manière transparente un fichier représenté sous forme de chaîne, offrant une approche plus flexible et efficace par rapport au travail avec des fichiers physiques.

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!

source:php
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal