PHP CURL 업로드 바이너리 스트림 이미지 정보

藏色散人
풀어 주다: 2023-04-09 17:22:01
앞으로
5342명이 탐색했습니다.

추천: "PHP 비디오 튜토리얼"

PHP CURL 上传二进制流图片

Foreword

프로젝트의 모듈 데이터는 PHP 크롤러에 의해 업데이트됩니다. 지역별 CDN 원본 서버(정적 리소스 서버)의 경우 서버 담당자가 업로드 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
🎜Solution🎜🎜1만 제공합니다. . 이미지를 로컬에 저장한 후 PHP CURL + new CURLFile($path) 업로드를 사용합니다(단점: IO 작업) 🎜🎜🎜2. 이미지를 바이너리 파일 /code>로 Upload API√🎜🎜🎜rrreeerrreee🎜솔루션 아이디어🎜🎜1. 지식🎜🎜2. <code>postman을 통해 파일을 업로드하여 전송된 요청 데이터를 확인하세요🎜🎜3. 요청 본문을 연결하세요🎜
  • 헤더를 설정하세요. multipart/form-data; 경계={md5(microtime()) }🎜
  • 본문 블록 설정 Content-Type: application/octet-stream🎜🎜

위 내용은 PHP CURL 업로드 바이너리 스트림 이미지 정보의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
php
원천:learnku.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿