php读取图片内容输出至浏览器的代码一例

发布时间:2020-04-04编辑:脚本学堂
如果php以图片,zip,exe等文件输出到浏览器,而前面还输出了其他字符,那就会是你看到的乱码。

应该是输出图片前有输出空格或其他字符造成的,可以检查一下输出图片前有没有其他字符,

如果是utf-8编码记得保存为无BOM的文件。
代码如下:
 

复制代码 代码示例:
<?php
/**
* 读取图片并输出至浏览器
*author www.jb200.com
*/
class imgdata{ 
            public $imgsrc; 
            public $imgdata; 
            public $imgform; 
            public function getdir($source){ 
                    $this->imgsrc  = $source; 
            } 
            public function img2data(){ 
                    $this->_imgfrom($this->imgsrc); 
                    return $this->imgdata=fread(fopen($this->imgsrc,'rb'),filesize($this->imgsrc));         
            } 
            public function data2img(){ 
                    header("content-type:$this->imgform"); 
                    echo $this->imgdata; 
                    //echo $this->imgform; 
                    //imagecreatefromstring($this->imgdata); 
            } 
            public function _imgfrom($imgsrc){ 
                    $info=getimagesize($imgsrc); 
                    //var_dump($info); 
                    return $this->imgform = $info['mime']; 
            }  
    } 
    $n = new imgdata; 
    $n -> getdir("1.jpg"); 
    $n -> img2data(); 
    $n -> data2img(); 
?>