推薦:《PHP影片教學》
專案中模組資料由PHP
爬蟲進行更新,當偵測到有新圖片時需要上傳到跨地區的CDN回源伺服器(靜態資源伺服器),伺服器負責人只提供一個上傳API
1.將圖片儲存到本機再使用PHP CURL
new \CURLFile($path)
上傳(缺點: IO操作)
2.模擬拼接請求資料封包,將圖片以二進位檔案直接傳送給上傳API
√
composer require ar414/curl-upload-binary-image
<?php require_once '../vendor/autoload.php'; use Ar414\UploadBinaryImage; $url = 'http://0.4.1.4:414/upload?path=/test/'; $fields = []; $fieldName = 'file'; $fileName = 'ar414.png'; $fileBody = file_get_contents('https://github.com/ar414-com/ar414-com/raw/master/assets/ar414.png'); $ret = UploadBinaryImage::upload($url,$fields,$fieldName,$fileName,$fileBody); var_dump($ret);
1.重溫HTTP知識
2.透過postman
,Google Chrome
#上傳檔案檢視傳送的請求資料
3.拼接請求體
multipart/form-data; boundary={md5(microtime())}
Content-Type: application/octet-stream
以上是關於PHP CURL上傳二進位串流圖片的詳細內容。更多資訊請關注PHP中文網其他相關文章!