Maison > développement back-end > tutoriel php > PHP utilise curl pour simuler la méthode de téléchargement de fichiers et d'images via les formulaires du navigateur

PHP utilise curl pour simuler la méthode de téléchargement de fichiers et d'images via les formulaires du navigateur

不言
Libérer: 2023-04-04 12:02:01
avant
4445 Les gens l'ont consulté

Le contenu de cet article explique comment PHP utilise curl pour simuler les formulaires du navigateur pour télécharger des fichiers et des images. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.

Avant-propos

Nous pouvons télécharger des fichiers en utilisant la zone de saisie en HTML dans le navigateur. L'élément de formulaire utilise le contrôle set enctype= attribut "multipart/form-data". Par exemple :

<body>

   <form action="UploadFile.php" method="post" enctype="multipart/form-data">

   <input type="file" name="fileUpload" />

   <input type="submit" value="上传文件" />

   </form>

</body>
Copier après la connexion

Il y a toujours des moments où nous devons télécharger des fichiers directement en arrière-plan au lieu d'utiliser le navigateur pour télécharger des fichiers sur le front-end. À l'heure actuelle, le curl de PHP fournit certains paramètres à télécharger. fichiers directement via l’arrière-plan PHP.

php utilise curl pour simuler le téléchargement de fichiers

Lorsque curl télécharge des fichiers, la chose la plus importante est l'application du symbole "@". L'ajout du symbole @ va curl. il Traitez-le comme un téléchargement de fichier.

Exemple de code spécifique :

<?php
   header(&#39;Content-type:text/html; charset=utf-8&#39;);  //声明编码
   $ch = curl_init();
   $url = &#39;https://xxx.com/api/mobile/auto_upload.php?uid=9705459&#39;;
   
   //post数据,使用@符号,curl就会认为是有文件上传
   $curlPost = array(&#39;Filedata&#39;=>'@/Users/finup/Documents/11.png');
   
   
   curl_setopt($ch, CURLOPT_URL, $url);
   curl_setopt($ch, CURLOPT_HEADER, 1);
   curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
   curl_setopt($ch, CURLOPT_POST, 1); //POST提交
   curl_setopt($ch, CURLOPT_POSTFIELDS,$curlPost);
   $data =curl_exec($ch);
   curl_close($ch);
   echo '<pre class="brush:php;toolbar:false">';
   var_dump($data);
Copier après la connexion

L'URL dans l'exemple de code ci-dessus est une interface spécifique pour traiter les téléchargements de fichiers. Vous pouvez directement utiliser $_FILES pour obtenir des informations sur les fichiers temporaires téléchargés et les imprimer. $_FILES est le suivant, où le nom de la clé du tableau "Filedata" peut être spécifié par vous-même lors du passage des paramètres :

Array
(
   [Filedata] => Array
       (
           [name] => 11.png
           [type] => application/octet-stream
           [tmp_name] => /private/var/tmp/php936cex
           [error] => 0
           [size] => 36663
       )

)
Copier après la connexion


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!

Étiquettes associées:
source:segmentfault.com
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal