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

yipeiwu_com7年前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文本文件操作类

PHP文本操作类, 封装处理,调用方便<?php    class CtbClass {   &nbs...

JavaScript实现滚动栏效果的方法

本文实例讲述了JavaScript实现滚动栏效果的方法。分享给大家供大家参考。具体如下: <!DOCTYPE html> <html> <head...

php观察者模式应用场景实例详解

本文实例讲述了php观察者模式的应用。分享给大家供大家参考,具体如下: <?php /** * 观察者模式应用场景实例 * * 免责声明:本文只是以哈票网举例,示...

php 数组的指针操作实现代码

/** * 将数组的内部指针倒回一位 * @param array &$arr * @return mixed 返回前一个单元的值,当没有更多单元时返回 FALSE * 如果数组包含空的...

PHP超牛逼无限极分类生成树方法

你还在用浪费时间又浪费内存的递归遍历无限极分类吗,看了该篇文章,我觉得你应该换换了。 这是我在OSChina上看到的一段非常精简的PHP无限极分类生成树方法,巧在引用,整理分享了。 复制...