php使用curl模擬瀏覽器表單上傳檔案以及圖片的方法

不言
發布: 2023-04-04 12:02:01
轉載
4393 人瀏覽過

這篇文章帶給大家的內容是關於php使用curl模擬瀏覽器表單上傳文件以及圖片的方法,有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。

前言

在瀏覽器使用html中的input框我們可以實現文件的上傳,表單元素選用 控件,form 表單需要設定enctype= "multipart/form-data" 屬性。例如:

<body>

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

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

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

   </form>

</body>
登入後複製

總是有一些時候,我們需要在後台直接上傳檔案而不是用瀏覽器進行前端上傳,這時候php的curl就提供了一些參數可以實作直接透過php後台上傳檔案。

php使用curl模擬上傳檔案

curl上傳檔案的時候,最重要的是一個「 @」符號的應用,加@符號curl就會把它當成是文件上傳處理。

具體程式碼實例:

<?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);
登入後複製

上述程式碼實例中的url是處理文件上傳的具體的接口,可以直接使用$_FILES來獲取上傳的臨時文件相關信息,打印出$_FILES如下,其中數組的鍵“Filedata”名稱可以在傳遞參數的時候自己指定:

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

)
登入後複製


以上是php使用curl模擬瀏覽器表單上傳檔案以及圖片的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:segmentfault.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板