zoukankan      html  css  js  c++  java
  • 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');
    ?>
  • 相关阅读:
    pycharm2018.1下载激活(mac平台)
    python 保存登录状态 cookie
    utf-8和utf-8-sig的区别
    AcWing 803. 区间合并
    AcWing 801. 二进制中1的个数
    AcWing 800. 数组元素的目标和
    AcWing 799. 最长连续不重复子序列
    AcWing 795. 前缀和
    AcWing 791. 高精度加法 解题记录
    九州缥缈录 合集序言
  • 原文地址:https://www.cnblogs.com/lxwphp/p/15453022.html
Copyright © 2011-2022 走看看