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
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>
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('Content-type:text/html; charset=utf-8'); //声明编码 $ch = curl_init(); $url = 'https://xxx.com/api/mobile/auto_upload.php?uid=9705459'; //post数据,使用@符号,curl就会认为是有文件上传 $curlPost = array('Filedata'=>'@/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);
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 ) )
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!