php数据流如何转化为图片

本篇内容主要讲解“php数据流如何转化为图片”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“php数据流如何转化为图片”吧!

创新互联从2013年开始,先为鄯善等服务建站,鄯善等地企业,进行企业商务咨询服务。为鄯善企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

php数据流转化为图片的方法:1、创建一个PHP示例文件;2、通过“class imageUpload {...}”方式定义一个图片类;3、通过“public function image($save_name) {...}”方法创建并写入数据流;4、通过“getimageInfo”方法获取图片信息即可。

php 数据流怎么转化为图片?

php 接收二进制流转换成图片

php 接收二进制流转换成图片,图片类imageUpload.php如下:

error_handler () );         //设置保存图片名称,若未设置,则随机产生一个唯一文件名
        $this->save_name = $save_name ? $save_name : md5 ( mt_rand (), uniqid () );
        //设置保存图片路径,若未设置,则使用年/月/日格式进行目录存储
        $this->save_dir =  $save_dir ? self::ROOT_PATH .$save_dir : self::ROOT_PATH .date ( 'Y/m/d' );         //创建文件夹
        @$this->create_dir ( $this->save_dir );
        //设置目录+图片完整路径
        $this->save_fullpath = $this->save_dir . '/' . $this->save_name;
    }
    //兼容PHP4
    public function image($save_name) {
        $this->__construct ( $save_name );
    }     public function stream2Image() {
        //二进制数据流
        $data = file_get_contents ( 'php://input' ) ? file_get_contents ( 'php://input' ) : gzuncompress ( $GLOBALS ['HTTP_RAW_POST_DATA'] );
        //数据流不为空,则进行保存操作
        if (! empty ( $data )) {
            //创建并写入数据流,然后保存文件
            if (@$fp = fopen ( $this->save_fullpath, 'w+' )) {
                fwrite ( $fp, $data );
                fclose ( $fp );
                $baseurl = "http://" . $_SERVER ["SERVER_NAME"] . ":" . $_SERVER ["SERVER_PORT"] . dirname ( $_SERVER ["SCRIPT_NAME"] ) . '/' . $this->save_name;
                if ( $this->getimageInfo ( $baseurl )) {
                    echo $baseurl;
                } else {
                    echo ( self::NOT_CORRECT_TYPE  );
                }
            } else {             }
        } else {
            //没有接收到数据流
            echo ( self::NO_STREAM_DATA );
        }
    }
    /**
     * 创建文件夹
     * @param String $dirName 文件夹路径名
     */
    public function create_dir($dirName, $recursive = 1,$mode=0777) {
        ! is_dir ( $dirName ) && mkdir ( $dirName,$mode,$recursive );
    }
    /**
     * 获取图片信息,返回图片的宽、高、类型、大小、图片mine类型
     * @param String $imageName 图片名称
     */
    public function getimageInfo($imageName = '') {
        $imageInfo = getimagesize ( $imageName );
        if ($imageInfo !== false) {
            $imageType = strtolower ( substr ( image_type_to_extension ( $imageInfo [2] ), 1 ) );
            $imageSize = filesize ( $imageInfo );
            return $info = array ('width' => $imageInfo [0], 'height' => $imageInfo [1], 'type' => $imageType, 'size' => $imageSize, 'mine' => $imageInfo ['mine'] );
        } else {
            //不是合法的图片
            return false;
        }     }     /*private function error_handler($a, $b) {
     echo $a, $b;
    }*/ }
?>

到此,相信大家对“php数据流如何转化为图片”有了更深的了解,不妨来实际操作一番吧!这里是创新互联网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!


当前名称:php数据流如何转化为图片
文章转载:http://myzitong.com/article/ieeoss.html