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 相关文章推荐
玩转虚拟域名◎+ .
Oct 09 PHP
php 取得瑞年与平年的天数的代码
Aug 10 PHP
Thinkphp模板中使用自定义函数的方法
Sep 23 PHP
php随机输出名人名言的代码
Oct 07 PHP
ThinkPHP之M方法实例详解
Jun 20 PHP
php生成唯一的订单函数分享
Feb 02 PHP
DEDECMS首页调用图片集里的多张图片
Jun 05 PHP
Linux安装配置php环境的方法
Jan 14 PHP
php根据用户名和手机号查询是否存在手机号码
Feb 16 PHP
PHP生成各种随机验证码的方法总结【附demo源码】
Jun 05 PHP
PHP使用PHPExcel实现批量上传到数据库的方法
Jun 08 PHP
php7 图形用户界面GUI 开发示例
Feb 22 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
Terran剧情介绍
2020/03/14 星际争霸
Extended CHM PHP 语法手册之 DIY
2006/10/09 PHP
使用php统计字符串中中英文字符的个数
2013/06/23 PHP
php将textarea数据提交到mysql出现很多空格的解决方法
2014/12/19 PHP
php图片合成方法(多张图片合成一张)
2017/11/25 PHP
PHP数组实际占用内存大小原理解析
2020/12/11 PHP
javascript 异步页面查询实现代码(asp.net)
2010/05/26 Javascript
基于Jquery的温度计动画效果
2010/06/18 Javascript
为radio类型的INPUT添加客户端脚本(附加实现JS来禁用onClick事件思路代码)
2010/11/11 Javascript
jquery图片延迟加载 前端开发技能必备系列
2012/06/18 Javascript
JQuery伸缩导航练习示例
2013/11/13 Javascript
nw.js实现类似微信的聊天软件
2015/03/16 Javascript
js+html5获取用户地理位置信息并在Google地图上显示的方法
2015/06/05 Javascript
Three.js学习之文字形状及自定义形状
2016/08/01 Javascript
JavaScript严格模式详解
2017/01/16 Javascript
JavaScript获取用户所在城市及地理位置
2018/04/21 Javascript
解决layui上传文件提示上传异常,实际文件已经上传成功的问题
2018/08/19 Javascript
Vue的watch和computed方法的使用及区别介绍
2018/09/06 Javascript
详解阿里Node.js技术文档之process模块学习指南
2021/01/04 Javascript
[02:02]特效爆炸!DOTA2珍宝之瓶待你开启
2018/08/21 DOTA
[51:30]OG vs LGD 2018国际邀请赛淘汰赛BO3 第二场 8.26
2018/08/30 DOTA
[46:28]EG vs Liquid 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.23
2019/09/05 DOTA
Python中的ceil()方法使用教程
2015/05/14 Python
浅谈flask截获所有访问及before/after_request修饰器
2018/01/18 Python
利用python对Excel中的特定数据提取并写入新表的方法
2018/06/14 Python
python GUI图形化编程wxpython的使用
2019/07/19 Python
Python 继承,重写,super()调用父类方法操作示例
2019/09/29 Python
使用PyWeChatSpy自动回复微信拍一拍功能的实现代码
2020/07/02 Python
python字典与json转换的方法总结
2020/12/28 Python
美国在线健康和美容市场:Pharmapacks
2018/12/05 全球购物
企业军训感言
2014/02/08 职场文书
中西医专业毕业生职业规划书
2014/02/24 职场文书
文明和谐家庭事迹材料
2014/05/18 职场文书
出国留学担保书
2014/05/20 职场文书
大专毕业生求职信
2014/07/05 职场文书
八年级作文之我的母亲
2019/12/10 职场文书