这篇文章将为大家详细讲解有关PHP中CURL上传二进制流图片的方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
项目中模块数据由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.拼接请求体
set Header multipart/form-data; boundary={md5(microtime())}
set Body Block Content-Type: application/octet-stream
关于“PHP中CURL上传二进制流图片的方法”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。