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 相关文章推荐
用php获取远程图片并把它保存到本地的代码
Apr 07 PHP
认识并使用PHP超级全局变量
Jan 26 PHP
AMFPHP php远程调用(RPC, Remote Procedure Call)工具 快速入门教程
May 10 PHP
PHP合并数组+与array_merge的区别分析
Aug 01 PHP
过滤掉PHP数组中的重复值的实现代码
Jul 17 PHP
php获取文件夹路径内的图片以及分页显示示例
Mar 11 PHP
PDO防注入原理分析以及注意事项
Feb 25 PHP
php中define用法实例
Jul 30 PHP
Zend Framework动作助手Redirector用法实例详解
Mar 05 PHP
php使用自定义函数实现汉字分割替换功能示例
Jan 30 PHP
PHP设计模式之装饰器模式实例详解
Feb 07 PHP
Laravel多域名下字段验证的方法
Apr 04 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
为什么夜间收到的中波电台比白天多
2021/03/01 无线电
浅谈php优化需要注意的地方
2014/11/27 PHP
JavaScript 开发中规范性的一点感想
2009/06/23 Javascript
JavaScript获取多个数组的交集简单实例
2013/11/11 Javascript
JavaScript onkeydown事件入门实例(键盘某个按键被按下)
2014/10/17 Javascript
Treegrid的动态加载实例代码
2016/04/29 Javascript
JavaScript实现简单的拖动效果
2016/07/02 Javascript
JavaScript使用Range调色及透明度实例
2016/09/25 Javascript
JQuery validate 验证一个单独的表单元素实例
2017/02/17 Javascript
Angular2安装angular-cli
2017/05/21 Javascript
想用好React的你必须要知道的一些事情
2017/07/24 Javascript
js实现关闭网页出现是否离开提示
2017/12/07 Javascript
vue父组件点击触发子组件事件的实例讲解
2018/02/08 Javascript
vue组件与复用详解
2018/04/08 Javascript
解决JavaScript中0.1+0.2不等于0.3问题
2018/10/23 Javascript
微信小程序module.exports模块化操作实例浅析
2018/12/20 Javascript
vue中使用v-model完成组件间的通信
2019/08/22 Javascript
javascript实现下拉菜单效果
2021/02/09 Javascript
[12:36]《DOTA2》国服注册与激活指南全攻略
2013/04/28 DOTA
Python操作RabbitMQ服务器实现消息队列的路由功能
2016/06/29 Python
Python简单遍历字典及删除元素的方法
2016/09/18 Python
Python实现利用最大公约数求三个正整数的最小公倍数示例
2017/09/30 Python
python3 实现一行输入,空格隔开的示例
2018/11/14 Python
对python csv模块配置分隔符和引用符详解
2018/12/12 Python
python3爬虫获取html内容及各属性值的方法
2018/12/17 Python
使用Python Pandas处理亿级数据的方法
2019/06/24 Python
Centos7下源码安装Python3 及shell 脚本自动安装Python3的教程
2020/03/07 Python
英国独特的时尚和生活方式品牌:JOY
2018/03/17 全球购物
学习委员自我鉴定
2014/01/13 职场文书
岗位廉洁从业承诺书
2014/03/28 职场文书
实习评语大全
2014/04/26 职场文书
2014旅游局党组书记党建工作汇报材料
2014/11/02 职场文书
倡议书怎么写?
2019/04/11 职场文书
朋友圈早安励志语录!
2019/07/08 职场文书
话题作文之诚信
2019/11/28 职场文书
前端框架ECharts dataset对数据可视化的高级管理
2022/12/24 Javascript