Heim >Backend-Entwicklung >PHP-Tutorial >Informationen zum Hochladen von binären Stream-Bildern mit PHP CURL

Informationen zum Hochladen von binären Stream-Bildern mit PHP CURL

藏色散人
藏色散人nach vorne
2020-12-25 15:51:375396Durchsuche

Empfohlen: „PHP-Video-Tutorial

PHP CURL 上传二进制流图片

Vorwort

Die Moduldaten im Projekt werden vom PHP-Crawler aktualisiert Für regionale CDN-Back-to-Origin-Server (statische Ressourcenserver) stellt der Serververantwortliche lediglich eine Upload-APIPHP爬虫进行更新,当检测到有新图片时需要上传到跨地区的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
🎜Lösung🎜🎜1 bereit . Speichern Sie das Bild lokal und verwenden Sie dann PHP CURL + <code>new CURLFile($path) Hochladen (Nachteil: IO-Vorgang) 🎜🎜🎜2 Simulieren Sie die Spleißanforderungsdatennachricht und Senden Sie das Bild direkt an die Upload-API <span style="text-decoration-line: line-through;">√🎜🎜🎜rrreeerrreee🎜Lösungsideen🎜🎜1 Wissen🎜🎜2. Über <code>postman laden Sie die Datei hoch, um die gesendeten Anforderungsdaten anzuzeigen🎜🎜3. Fügen Sie den Anforderungstext zusammen.
  • setzen Sie den Header multipart/form-data; border={md5(microtime()) 🎜
  • set Body Block Content-Type: application/octet-stream🎜🎜

Das obige ist der detaillierte Inhalt vonInformationen zum Hochladen von binären Stream-Bildern mit PHP CURL. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:learnku.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen