关于PHP CURL上传二进制流图片

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.通过postmanGoogle Chrome 上传文件 查看发送的请求数据

3.拼接请求体

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

关于关于PHP CURL上传二进制流图片的文章就分享到这,如果对你有帮助欢迎继续关注我们哦

本文来自投稿,不代表重蔚自留地立场,如若转载,请注明出处https://www.cwhello.com/44704.html

如有侵犯您的合法权益请发邮件951076433@qq.com联系删除

(0)
php学习php学习订阅用户
上一篇 2022年6月27日 00:31
下一篇 2022年6月27日 00:31

相关推荐

  • 直击php中static,const与define的使用区别

    define部分:宏不仅可以用来代替常数值,还可以用来代替表达式,甚至是代码段。(宏的功能很强大,但也容易出错,所以其利弊大小颇有争议。)宏的语法为:#define 宏名称 宏值作为一种建议和一种广大程序员共同的习…

    2022年6月17日
    0134
  • PHP中如何进行Kubernetes技术的应用?

    随着云计算和容器化技术的飞速发展,Kubernetes已成为当今最主流的云原生应用程序管理平台。在Kubernetes的世界里,PHP这样的Web编程语言也能够轻松地进行应用。本文将介绍如何在PHP应用中使用Kubernetes技术,让你…

    2023年5月17日
    07
  • PHP中使用Redis实现分布式锁智能切换。

    分布式系统中,由于多个节点同时对同一资源进行操作,容易出现并发冲突的问题。为了解决这个问题,我们通常使用分布式锁来控制对共享资源的访问。Redis是一种高效的分布式缓存,可以用来实现分布式锁。本文将介绍如…

    2023年5月23日
    02
  • PHP中的函数式编程实践。

    随着现代技术的快速发展,PHP作为一种广泛使用的编程语言,在开发过程中也需要不断升级其技术和应用。其中,函数式编程的概念和实践逐渐变得越来越重要。先从概念入手,函数式编程是一种思想范式,其特点是将函数看…

    2023年5月30日
    03
  • 详解PHP+fiddler抓包采集微信文章阅读数点赞数的思路

    简介:分析接口知道要获取文章阅读数和点赞数必须有key和uin这两个关键参数,不同公众号key不一样(据说有万能微信key,不懂怎么搞到),同一个公众号key大概半小时会过期提交链接获取文章阅读量api思路:1.将客户…

    2022年6月16日 PHP自学教程
    0135
  • php程序员应具有的7种能力

    php能力  1,了解阶段,您能写一些代码,因为那是在手册和google的帮助下,您才完成的。变量乱定义,N多函数不知道,做起事来很慢,想到什么写什么,代码写的比较乱,后期维护很麻烦。 2,熟悉阶段,经常查函数,手…

    2017年11月16日
    0214
  • php如何使用PHP的PDO_SQLITE扩展。

    在Web开发中,PHP是一种非常常用的编程语言。而作为一种高效的数据库操作类库,PDO_SQLITE扩展也是PHP中的重要组成部分。本文将介绍如何在PHP中使用PDO_SQLITE扩展。第一步:PDO_SQLITE的安装在使用PDO_SQLITE之前…

    2023年6月3日
    06
  • Cookie的应用案例

    显示用户访问时间,如果是第一次访问服务器,显示第一次访问,时间为xxx;如果是不是第一次访问,则显示上次访问时间为xxx 思考:想要读取到上次访问这个页面时的时间,由于http协议无状态的,所以默认情况下无法读…

    2018年9月13日 PHP自学教程
    0249

联系我们

QQ:951076433

在线咨询:点击这里给我发消息邮件:951076433@qq.com工作时间:周一至周五,9:30-18:30,节假日休息