PHP实现提取一个图像文件并在浏览器上显示的代码

yipeiwu_com6年前PHP代码库
去年做过一个项目,要把用户上传的图像文件列出文字清单,当用户点击一个文件名后,就可以显示这个图像.

因为要考虑兼容各种不同的图像格式, 我使用了GD库, 判断出具体是那种图像文件(MINE),再调用相应的image生成函数imagecreatefromXXX(),生成一个img,再将这个img以jpeg格式输出至浏览器,虽然做出来了,但总觉得不满意.

今天有机会重新考虑这个功能,在php手册中发现几行代码,简洁明快,完全能实现我要的功能,还不需要GD库

复制代码 代码如下:

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


代码量是我原来的1/10都不到,速度快了N倍.

相关文章

php array_map使用自定义的函数处理数组中的每个值

array_map 将回调函数作用到给定数组的单元上。 说明 array array_map ( callable $callback , array $arr1 [, array $....

php 无限级分类学习参考之对ecshop无限级分类的解析 带详细注释

复制代码 代码如下:function cat_options($spec_cat_id, $arr) { static $cat_options = array(); if (isset...

php下HTTP Response中的Chunked编码实现方法

进行Chunked编码传输的HTTP Response会在消息头部设置: Transfer-Encoding: chunked 表示Content Body将用Chunked编码传输内容...

PHP函数import_request_variables()用法分析

本文实例分析了PHP函数import_request_variables()用法。分享给大家供大家参考,具体如下: import_request_variables 函数可以在 regi...

php ajax异步读取rss文档数据

RSS(Really Simple Syndication)是一种描述和同步网站内容的格式,是使用最广泛的XML应用。RSS搭建了信息迅速传播的一个技术平台,使得每个人都成为潜在的信息提...