『壹』 使用CURL上傳文件
近日再使用一個第三方介面的時候,使用curl調用一個上傳文件的介面。
再多次失敗後,終於找到了真經!!!
言歸正傳~
PHP的cURL支持通過給CURL_POSTFIELDS傳遞關聯數組(而不是字元串)來生成multipart/form-data的POST請求。
PHP的cURL支持通過在數組數據中,使用「@+文件全路徑」的語法附加文件,供cURL讀取上傳。
這與命令行直接調用cURL程序的語法是一致的:
php5.5開始引入了新的CURLFile類用來指向文件。CURLFile類也可以詳細定義MIME類型、文件名等可能出現在multipart/form-data數據中的附加信息。推薦使用CURLFile替代舊的@語法:
使用CURL上傳文件
『貳』 怎麼在windows使用curl 命令進行上傳upload
linux curl是一個利用URL規則在命令行下工作的文件傳輸工具。它支持文件的上傳和下載,所以是綜合傳輸工具,但按傳統,習慣稱url為下載工具。
curl並不是雙擊即可運行,你需要在命令提示符下使用它
如何進入命令提示符
點擊「開始」——「運行」——輸入CMD
或,WIN+R,輸入CMD
下載我下載版本的CURL後,解壓後文件夾放在如:D:curl的文件夾里(curl路徑)
命令提示符窗口中輸入"d:"回車,然後輸入「cd curl」即可跳轉到curl文件夾,
至此可以輸入curl命令了(根據你的curl類推)或你也可以將curl加入到系統環境變數如何將curl所在文件夾加入系統變數
右鍵單擊「我的電腦」——「屬性」——「高級」——「環境變數」——
「系統變數」——「Path」——「編輯」——加入「;D:curl」(注意分號,
D:curl換成你的curl路徑)——「確定」加入到系統環境變數後可在命令提示符內直接運行如
「curl -O http://curl.haxx.se/download/curl-7.19.5-win32-ssl-sspi.zip」
這樣的命令,無需進入curl所在文件夾curl命令用法!
實例演示:
curl 是一般linux發行版中都帶有的小工具,利用這個工具可以很方便的下載文件,我一般使用這個工具來查看某個頁面相應的HTTP頭信息,在Windows系統中我們也一樣可以使用這個工具,如果不需要支持https的話,那直接下載一個可執行文件即可
這個頁面最底部有一個Windows下的下載鏈接,請選擇不帶SSL的版本,
否則還需要安裝SSL的支持包。
解壓後直接執行 curl.exe 即可(如不能直接運行,請使用cmd帶路徑執行curl.exe程序),如將改文件放入盤
C:curlcurl.exe.在cmd控制台為 C:curlcurl.exe --help
如果需要將cmd直接執行curl ,則可將curl.exe文件放入到C:WINDOWSsystem32目錄下。
『叄』 跪求CURL大神幫忙,自己用curl寫了個上傳文件的程序
使用curl需要在php.ini中更改配置,
『肆』 php curl 上傳多文件,怎麼弄
下面是一段示例代碼:
<?php
//註:PHP5.5.0起,文件上傳建議使用CURLFile代替@
//多文件上傳
$data=array(
'input_file[0]'=>newCURLFile('d:/1.txt','text/plain','testfile.txt'),
'input_file[1]'=>newCURLFile('d:/2.txt','text/plain'),
'input_file[2]'=>newCURLFile('d:/3.txt','text/plain'),
);
$ch=curl_init('http://demo.zjmainstay.cn/php/curl/curlUploadHandler.php');
curl_setopt($ch,CURLOPT_POST,1);
curl_setopt($ch,CURLOPT_POSTFIELDS,$data);
curl_exec($ch);
如果你的版本比較低,文件部分使用:
'input_file[0]'=>'@d:/1.txt',
這樣既可。
我的博客《PHP cURL實現模擬登錄與採集使用方法詳解》對各類curl問題做了系統而詳細的講解,請參考「十、模擬上傳文件」部分查看更多文件上傳內容,如直接基於採集的文件內容進行上傳等。
『伍』 如何利用curl實現form表單提交 帶文件上傳
//上傳D盤下的test.jpg文件,文件必須存在,否則curl處理失敗且沒有任何提示
$data=array('name'=>'Foo','file'=>'@d:/test.jpg');
註:PHP5.5.0起,文件上傳建議使用CURLFile代替@
$ch=curl_init('http://localhost/upload.php');
curl_setopt($ch,CURLOPT_POST,1);
curl_setopt($ch,CURLOPT_POSTFIELDS,$data);
curl_exec($ch);
更多內容請參考:http://www.zjmainstay.cn/php-curl#十模擬上傳文件
『陸』 如何用curl命令上傳文件到制定的目錄
把臨時目錄下的文件移動到目標上傳目錄
move_uploaded_file($file['tmp_name'], $filename)
『柒』 微信開發如何使用CURL上傳圖片,沒分,懸賞10QB
http請求方式: POST(請使用https協議)
https://api.weixin.qq.com/shakearound/material/add?access_token=ACCESS_TOKEN&type=TYPE
POST數據格式:FORM表單
POST數據例子:
調用示例(使用curl命令,用FORM表單方式上傳一個多媒體文件):
curl -F 「media=@IMAGE_NAME」
"https://api.weixin.qq.com/shakearound/material/add?access_token=ACCESS_TOKEN&type=TYPE"
是這個吧。