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函数
Oct 09 PHP
关于时间计算的结总
Dec 06 PHP
PHP 类型转换函数intval
Jun 20 PHP
PHP中使用数组实现堆栈数据结构的代码
Feb 05 PHP
php中存储用户ID和密码到mysql数据库的方法
Feb 06 PHP
php缩放图片(根据宽高的等比例缩放)实例介绍
Jun 09 PHP
浅谈web上存漏洞及原理分析、防范方法(文件名检测漏洞)
Jun 29 PHP
Drupal简体中文语言包安装教程
Sep 27 PHP
PHP中使用SimpleXML检查XML文件结构实例
Jan 07 PHP
php curl抓取网页的介绍和推广及使用CURL抓取淘宝页面集成方法
Nov 30 PHP
Yii2中设置与获取别名的函数(setAlias和getAlias)用法分析
Jul 25 PHP
Yii2框架类自动加载机制实例分析
May 02 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无限极分类实现的两种解决方法
2013/04/28 PHP
PHP将进程作为守护进程的方法
2015/03/19 PHP
CI框架使用composer安装的依赖包步骤与方法分析
2016/11/21 PHP
jquery 如何动态添加、删除class样式方法介绍
2012/11/07 Javascript
jquery解决图片路径不存在执行替换路径
2013/02/06 Javascript
js猜数字小游戏的简单实现代码
2013/07/02 Javascript
jquery 延迟执行实例介绍
2013/08/20 Javascript
Laydate时间组件在火狐浏览器下有多时间输入框时只能给第一个输入框赋值的解决方法
2016/08/18 Javascript
巧用jQuery选择器提高写表单效率的方法
2016/08/19 Javascript
JavaScript实现url参数转成json形式
2016/09/25 Javascript
vue如何获取点击事件源的方法
2017/08/10 Javascript
nodejs+mongodb+vue前后台配置ueditor的示例代码
2018/01/02 NodeJs
详解如何在React组件“外”使用父组件的Props
2018/01/12 Javascript
Vue组件库发布到npm详解
2018/02/17 Javascript
jQuery AJAX 方法success()后台传来的4种数据详解
2018/08/08 jQuery
如何通过vscode运行调试javascript代码
2020/07/24 Javascript
Python下的常用下载安装工具pip的安装方法
2015/11/13 Python
python with提前退出遇到的坑与解决方案
2018/01/05 Python
python计算日期之间的放假日期
2018/06/05 Python
Python设计模式之装饰模式实例详解
2019/01/21 Python
python实现接口并发测试脚本
2019/06/25 Python
浅析Python语言自带的数据结构有哪些
2019/08/27 Python
Python openpyxl模块实现excel读写操作
2020/06/30 Python
使用HTML5 Canvas API中的clip()方法裁剪区域图像
2016/03/25 HTML / CSS
详解h5页面在不同ios设备上的问题总结
2019/03/01 HTML / CSS
美国休闲服装品牌:Express
2016/09/24 全球购物
《胡杨》教学反思
2014/02/16 职场文书
小学班级口号
2014/06/09 职场文书
出差报告格式模板
2014/11/06 职场文书
2014年大学宣传部工作总结
2014/12/19 职场文书
教研活动主持词
2015/07/03 职场文书
高一地理教学工作总结
2015/08/12 职场文书
pytorch中Schedule与warmup_steps的用法说明
2021/05/24 Python
java多态注意项小结
2021/10/16 Java/Android
Dashboard管理Kubernetes集群与API访问配置
2022/04/01 Servers
Java 超详细讲解hashCode方法
2022/04/07 Java/Android