PHP verwendet Curl, um die Methode zum Hochladen von Dateien und Bildern über Browserformulare zu simulieren

不言
Freigeben: 2023-04-04 12:02:01
nach vorne
4387 Leute haben es durchsucht

Der Inhalt dieses Artikels handelt davon, wie PHP Browserformulare zum Hochladen von Dateien und Bildern simuliert. Ich hoffe, dass er für Sie hilfreich ist.

Vorwort

Wir können Dateien über das Eingabefeld in HTML im Browser hochladen. Das Formularelement verwendet das Steuerelement setze das Attribut enctype= „multipart/form-data“. Zum Beispiel:

<body>

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

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

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

   </form>

</body>
Nach dem Login kopieren

Es gibt immer Zeiten, in denen wir Dateien direkt im Hintergrund hochladen müssen, anstatt den Browser zum Hochladen von Dateien im Frontend zu verwenden. Zu diesem Zeitpunkt stellt PHPs Curl einige Parameter zum direkten Hochladen von Dateien bereit durch den PHP-Hintergrund.

PHP verwendet Curl, um das Hochladen von Dateien zu simulieren.

Wenn Curl Dateien hochlädt, ist die Verwendung des „@“-Symbols das Wichtigste Behandeln Sie es als einen Datei-Upload.

Spezifisches Codebeispiel:

<?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);
Nach dem Login kopieren

Die URL im obigen Codebeispiel ist eine spezifische Schnittstelle zum Verarbeiten von Datei-Uploads. Sie können $_FILES direkt verwenden, um Informationen über hochgeladene temporäre Dateien abzurufen und $ auszudrucken _FILES Wie folgt kann der Name des Array-Schlüssels „Filedata“ bei der Parameterübergabe selbst angegeben werden:

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

)
Nach dem Login kopieren


Das obige ist der detaillierte Inhalt vonPHP verwendet Curl, um die Methode zum Hochladen von Dateien und Bildern über Browserformulare zu simulieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:segmentfault.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage