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
4387 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