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


Posted in PHP onOctober 06, 2012

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

因为要考虑兼容各种不同的图像格式, 我使用了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 相关文章推荐
WINDOWS下php5.2.4+mysql6.0+apache2.2.4+ZendOptimizer-3.3.0配置
Mar 28 PHP
php getimagesize 上传图片的长度和宽度检测代码
May 15 PHP
利用PHP扩展vld查看PHP opcode操作步骤
Mar 04 PHP
php Session存储到Redis的方法
Nov 04 PHP
PHP中is_file不能替代file_exists的理由
Mar 04 PHP
thinkphp文件引用与分支结构用法实例
Nov 26 PHP
php实现屏蔽掉黑帽SEO的搜索关键字
Apr 15 PHP
PHP实现根据时间戳获取周几的方法
Feb 26 PHP
[原创]PHPCMS遭遇会员投稿审核无效的解决方法
Jan 11 PHP
PHP设计模式之装饰器模式实例详解
Feb 07 PHP
PHP里的$_GET数组介绍
Mar 22 PHP
Yii框架布局文件的动态切换操作示例
Nov 11 PHP
PHP中3种生成XML文件方法的速度效率比较
Oct 06 #PHP
PHP中的生成XML文件的4种方法分享
Oct 06 #PHP
PHP 正则表达式之正则处理函数小结(preg_match,preg_match_all,preg_replace,preg_split)
Oct 05 #PHP
PHP正则表达式之定界符和原子介绍
Oct 05 #PHP
PHP超级全局变量数组小结
Oct 04 #PHP
PHP中数字检测is_numeric与ctype_digit的区别介绍
Oct 04 #PHP
php 保留字列表
Oct 04 #PHP
You might like
PHP初学者头疼问题总结
2006/10/09 PHP
PHP 增加了对 .ZIP 文件的读取功能
2006/10/09 PHP
PHP脚本的10个技巧(8)
2006/10/09 PHP
php的控制语句
2006/10/09 PHP
一键删除顽固的空文件夹 软件下载
2007/01/26 PHP
php str_pad() 将字符串填充成指定长度的字符串
2010/02/23 PHP
PHP Class&amp;Object -- 解析PHP实现二叉树
2013/06/25 PHP
php 强制下载文件实现代码
2013/10/28 PHP
php循环创建目录示例分享(php创建多级目录)
2014/03/04 PHP
PHP中的reflection反射机制测试例子
2014/08/05 PHP
php模拟用户自动在qq空间发表文章的方法
2015/01/07 PHP
php读取csv文件并输出的方法
2015/03/14 PHP
php操作redis缓存方法分享
2015/06/03 PHP
PHP防止刷新重复提交页面的示例代码
2015/11/11 PHP
php app支付宝回调(异步通知)详解
2018/07/25 PHP
ThinkPHP 5.1 跨域配置方法
2019/10/11 PHP
检测input每次的输入是否合法遇到汉字输入就有问题
2012/05/23 Javascript
JS实现鼠标单击与双击事件共存
2014/03/08 Javascript
移动端jQuery修正Web页面滑动时div问题的两则实例
2016/05/30 Javascript
js中scrollTop()方法和scroll()方法用法示例
2016/10/03 Javascript
深入浅析Vue不同场景下组件间的数据交流
2017/08/15 Javascript
JS限制输入框输入的实现代码
2018/07/02 Javascript
Vue 3.x+axios跨域方案的踩坑指南
2019/07/04 Javascript
Element-ui DatePicker显示周数的方法示例
2019/07/19 Javascript
小程序如何获取多个formId实现详解
2019/09/20 Javascript
Python中的闭包总结
2014/09/18 Python
Html5+CSS3+EL表达式问题小结
2020/12/19 HTML / CSS
英国高街电视:High Street TV
2018/05/22 全球购物
物业管理求职自荐信
2013/09/25 职场文书
模范教师事迹材料
2014/02/10 职场文书
父母对孩子的寄语
2014/04/09 职场文书
2014党委书记四风问题对照检查材料思想汇报
2014/09/22 职场文书
2015年老干部工作总结
2015/04/23 职场文书
喋血孤城观后感
2015/06/08 职场文书
2016大学生形势与政策心得体会
2016/01/12 职场文书
Python爬虫入门案例之爬取二手房源数据
2021/10/16 Python