代碼很簡單,網上都能找到,但在我機子上就是顯示不出來,顯示出的一直是這個php文件路徑,
費了點時間才搞定,原來是我的<?php這個標簽前面有多的空格,刪掉就ok了,細節問題,粗心得很,真的很無語。
網上查了下,有這樣一說:
如果php以圖片,zip,exe等文件輸出到浏覽器,而前面還輸出了其他字符,那就會是你看到的亂碼。
應該是輸出圖片前有輸出空格或其他字符造成的,可以檢查一下輸出圖片前有沒有其他字符,
如果是utf-8編碼記得保存為無BOM的文件。
相關代碼如下:
復制代碼 代碼如下:
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();