PHP 用文件流方式展示图片

public function index(){
        $img = 'http://img.pf.loc/static/images/2016/05/24/21d98edf98bd6c30afe1c83891132c2f1374.png';
        $base64_img = self::base64EncodeImage($img);
 
        echo '<img src="' . $base64_img . '" />';
    }
   
function base64EncodeImage ($image_file) {
  $base64_image = '';
  $image_info = getImageSize($image_file);
  $image_path = 'E:/data/www/lamahui/aliyun_imgs/static/images/2016/05/24/21d98edf98bd6c30afe1c83891132c2f1374.png';
  $image_data = fread(fopen($image_file, 'r'), filesize($image_path));
  $base64_image = 'data:' . $image_info['mime'] . ';base64,' .chunk_split(base64_encode($image_data));
  return $base64_image;
}

用到的PHP 函数

getImageSize()---->获取图片的信息,输出结果为:

array (size=6)
  0 => int 601
  1 => int 601
  2 => int 3
  3 => string 'width="601" height="601"' (length=24)
  'bits' => int 8
  'mime' => string 'image/png' (length=9)
fopen(string $filename , string $mode)----->打开文件或URL ,其中 $mode 有如下方式打开:
  r:只读方式打开,将文件指针指向文件头。
  r+:读写方式打开,将文件指针指向文件头。
  w:写入方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。
  w+:读写方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。
  a:写入方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。
  a+:读写方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。
filesize(string $filename_path)-------->取得文件大小,其中要注意的是,里面的参数要是存储图片的路径,

原文地址:https://www.cnblogs.com/zouzhe0/p/6140328.html