本文介绍下,用php读取图片,并输出到浏览器显示的一段代码,有需要的朋友参考下。
在php中,如果php以图片,zip,exe等文件输出到浏览器,而前面还输出了其他字符,则会出现乱码。 原因分析: 输出图片前有输出空格或其他字符造成的,此时请检查一下输出图片前有没有其他字符,如果是utf-8编码记得保存为无BOM的文件。 例子: <?php //输出图片内容到浏览器 //by bbs.it-home.org 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(); ?> 登入後複製 附,提取一个图像文件并在浏览器上显示,代码: <?php $size = getimagesize($filename); //获取mime信息 $fp=fopen($filename, "rb"); //二进制方式打开文件 if ($size && $fp) { header("Content-type: {$size['mime']}"); fpassthru($fp); // 输出至浏览器 exit; } else { // error } ?> 登入後複製 |