從服務器獲取圖像很簡單,但是我想到了不同的東西。這是一個瘋狂的問題,但...是否有可能發送文件(圖像)到服務器,但不使用表單上傳或FTP連接?我想發送一個請求給例如。帶有二進制內容的http://www.example.com/file.php。我想我需要設置Content-type header image/jpeg,但是如何在我的請求中添加一些內容?CURL PHP發送圖像
17
A
回答
10
看到http://docs.php.net/function.curl-setopt:
CURLOPT_POSTFIELDS完整數據的HTTP 「POST」 操作來發布。 要發佈文件,請用@預先指定一個文件名並使用完整路徑。這可以作爲urlencoded字符串(如'para1 = val1&para2 = val2&...')傳遞,也可以作爲字段名稱作爲鍵和字段數據作爲值的數組傳遞。如果value是一個數組,則Content-Type頭將被設置爲multipart/form-data。
16
有多種方式捲曲使用上傳的圖像文件,如:
$ch = curl_init();
$data = array('name' => 'Foo', 'file' => '@/path/to/image.jpeg');
curl_setopt($ch, CURLOPT_URL, 'http://localhost/upload.php');
curl_setopt($ch, CURLOPT_POST, 1);
//CURLOPT_SAFE_UPLOAD defaulted to true in 5.6.0
//So next line is required as of php >= 5.6.0
curl_setopt($ch, CURLOPT_SAFE_UPLOAD, false);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_exec($ch);
,您可以檢查的例子:http://au.php.net/manual/en/function.curl-setopt.php
0
VolkerK是完全正確的,但我的經驗表明,發送文件「 @「運算符只能用於數組。
$post['file'] = "@FILE_Path"
現在你可以發送郵件使用CURLOPT_POSTFIELDS
+0
不再推薦此方法。請參閱:http://php.net/manual/en/class.curlfile.php – Erik 2014-12-10 03:58:50
相關問題
- 1. 無法通過cURL發送圖像
- 2. 如何使用PHP cURL發送正確的Content-Type圖像?
- 3. PHP cURL發送和接收圖像客戶端/服務器
- 4. PHP curl發送公鑰
- 5. cURL PHP GET不發送
- 6. 發送圖像PHP迅速
- 7. Php CURL發佈,數據不發送
- 8. 用cURL抓取圖像php
- 9. CURL PHP發送空白表格
- 10. CURL發送不含空格的XML PHP
- 11. 無法在PHP中使用cURL發送
- 12. PHP curl自動發送兩個請求
- 13. PHP - 如何使用CURL發送POSTFIELDS?
- 14. php curl發送帖子數據問題
- 15. 數據值不發送到api。 PHP + cURL
- 16. cURL通過PHP代理髮送請求
- 17. 獲取PHP curl發送的數據
- 18. 通過PHP POST發送JSON(cURL)
- 19. cURL請求未以PHP發送
- 20. 發送curl而不等待回覆php
- 21. 用php發送會話var cUrl
- 22. 使用PHP curl發送xml請求
- 23. 用PHP cURL發送PUT請求
- 24. PHP cURL JSON發送空白參數
- 25. PHP:使用cURL發送XML數據PUT
- 26. 如何用PHP curl發送GET請求
- 27. 用PHP cURL向Node.js發送Post請求
- 28. 發送圖像
- 29. 發送圖像
- 30. 發送圖像
這就是我一直在尋找的文件。謝謝! – 2011-11-28 13:11:23
謝謝你這樣一個完整而簡潔的例子! – 2013-07-08 02:37:38
CURLOPT_SAFE_UPLOAD默認在5.6.0中爲true ...所以你需要添加curl_setopt($ ch,CURLOPT_SAFE_UPLOAD,false);在設置CURLOPT_POSTFIELDS之前。 – muglio 2016-02-15 16:48:28