php接收二进制流(图片)生成图片文件文件

php接收二进制流(图片)生成图片文件文件

大家好,又见面了,我是全栈君。

<?php
    /** 二进制流生成文件
    * $_POST 无法解释二进制流,需要用到 $GLOBALS['HTTP_RAW_POST_DATA'] 或 php://input
    * $GLOBALS['HTTP_RAW_POST_DATA'] 和 php://input 都不能用于 enctype=multipart/form-data
    * @param    String  $file   要生成的文件路径
    * @return   boolean
    */
    function binary_to_file($file){
        $content = $GLOBALS['HTTP_RAW_POST_DATA'];  // 需要php.ini设置
        if(empty($content)){
            $content = file_get_contents('php://input');    // 不需要php.ini设置,内存压力小
        }
        $ret = file_put_contents($file, $content, true);
        return $ret;
    }
 
    // demo
    binary_to_file('photo/test.png');
?>

报错:Undefined index: HTTP_RAW_POST_DATA的解决办法

替换为

<?php
    /** 二进制流生成文件
    * $_POST 无法解释二进制流,需要用到 $GLOBALS['HTTP_RAW_POST_DATA'] 或 php://input
    * $GLOBALS['HTTP_RAW_POST_DATA'] 和 php://input 都不能用于 enctype=multipart/form-data
    * @param    String  $file   要生成的文件路径
    * @return   boolean
    */
    function binary_to_file($file){
        $content= isset($GLOBALS['HTTP_RAW_POST_DATA']) ? $GLOBALS['HTTP_RAW_POST_DATA'] : file_get_contents("php://input");
//php7 可以写为  $content=$GLOBALS['HTTP_RAW_POST_DATA']??file_get_contents('php://input');
        $ret = file_put_contents($file, $content, true);
        return $ret;
    }
 
    // demo
    binary_to_file('photo/test.png');
?>

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/111982.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • poj3819 Coverage (求直线与圆的交占直线的百分比 )

    poj3819 Coverage (求直线与圆的交占直线的百分比 )

    2022年1月25日
  • 【树莓派4B学习】十四、树莓派4B串口通信

    【树莓派4B学习】十四、树莓派4B串口通信树莓派的串口默认为SSH调试使用树莓派如何开启串口,这里不再赘述可参考这里一、必须要先知道的储备知识树莓派4B的外设一共包含两个串口,一个称之为硬件串口(/dev/ttyAMA0),一个称之为mini串口(/dev/ttyS0)。硬件串口由硬件实现,有单独的波特率时钟源,性能高、可靠,mini串口性能低,功能也简单,并且没有波特率专用的时钟源而是由CPU内核时钟提供,因此mini串…

    2022年5月26日
  • centos7开机界面出现多个选项

    centos7开机界面出现多个选项

    2021年6月14日
  • 基于jenkins的CICD使用

    基于jenkins的CICD使用前言:这篇文章主要讲一讲基于jenkins的CICD使用基于jenkins的CICD使用一、简介二、CICD流程图三、CICD效果四、jenkins编译方式五、新创建job六、pipeline脚本说明七、疑问解答与加群交流学习一、简介为了提升线下测试效率,缩短测试时间,提升提测代码质量,规范流程,缩短测试准备和执行时间,缩短问题定位时间,提供预测性指标,规范CICD流程,以提升整体团队效率。二、CICD流程图三、CICD效果大致可查看到的job如下:点击其中可查看具体编译情况:四、

    2022年6月14日
  • 索引的初探(一)

    索引的初探(一)

    2021年11月25日
  • php分享朋友圈链接变文字,微信朋友圈怎么转发别人的文章(链接、视频、图片、文字)…「建议收藏」

    php分享朋友圈链接变文字,微信朋友圈怎么转发别人的文章(链接、视频、图片、文字)…「建议收藏」小编每天都有不定时逛微信朋友圈的习惯,嘿嘿,估计正在看此文的你也跟小编一样的吧。朋友圈吸引我们的是上面常能看到很多娱乐、搞笑或有益的帖子。有福同享,独乐不如众乐嘛,SO,偶时也会手痒地转发一下别人发的好文章,与更多人分享。目前微信朋友圈里的链接文章、文字或图片不能一键转发,不过若要转发,也不是难事。如果你还不知道怎么转发别人的文章的话,此文就能帮到你。朋友圈发布的有链接资源文章/视频,图文,或纯文…

    2022年6月2日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号