php读取图片内容输出到浏览器的代码分享

发布时间:2020-05-02编辑:脚本学堂
本文介绍下,用php读取图片,并输出到浏览器显示的一段代码,有需要的朋友参考下。

在php中,如果php以图片,zip,exe等文件输出到浏览器,而前面还输出了其他字符,则会出现乱码

原因分析:
输出图片前有输出空格或其他字符造成的,此时请检查一下输出图片前有没有其他字符,如果是utf-8编码记得保存为无BOM的文件。

例子:

<?php
//输出图片内容到浏览器
//by 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();
?>

附,提取一个图像文件并在浏览器上显示,代码:

<?php
$size = getimagesize($filename); //获取mime信息
$fp=fopen($filename, "rb"); //二进制方式打开文件
if ($size && $fp) {
header("Content-type: {$size['mime']}");
fpassthru($fp); // 输出至浏览器
exit;
} else {
// error
}
?>