關於PHP CURL上傳二進位串流圖片

藏色散人
發布: 2023-04-09 17:22:01
轉載
5303 人瀏覽過

推薦:《PHP影片教學

PHP CURL 上传二进制流图片

前言

專案中模組資料由PHP爬蟲進行更新,當偵測到有新圖片時需要上傳到跨地區的CDN回源伺服器(靜態資源伺服器),伺服器負責人只提供一個上傳API

解決方法

1.將圖片儲存到本機再使用PHP CURL new \CURLFile($path) 上傳(缺點: IO操作)

2.模擬拼接請求資料封包,將圖片以二進位檔案直接傳送給上傳API

composer require ar414/curl-upload-binary-image
登入後複製
<?php

require_once &#39;../vendor/autoload.php&#39;;

use Ar414\UploadBinaryImage;

$url = &#39;http://0.4.1.4:414/upload?path=/test/&#39;;
$fields = [];
$fieldName = &#39;file&#39;;
$fileName = &#39;ar414.png&#39;;

$fileBody = file_get_contents(&#39;https://github.com/ar414-com/ar414-com/raw/master/assets/ar414.png&#39;);

$ret = UploadBinaryImage::upload($url,$fields,$fieldName,$fileName,$fileBody);
var_dump($ret);
登入後複製

解決想法

1.重溫HTTP知識

2.透過postmanGoogle Chrome#上傳檔案檢視傳送的請求資料

3.拼接請求體

  • set Header multipart/form-data; boundary={md5(microtime())}
  • set Body Block Content-Type: application/octet-stream

以上是關於PHP CURL上傳二進位串流圖片的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
php
來源:learnku.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!