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 字符串操作入门教程
Dec 06 PHP
在服务端进行目录建立、删除,文件上传、删除的过程的php代码
Sep 10 PHP
PHP文件读写操作之文件读取方法详解
Jan 13 PHP
基于php在各种web服务器的运行模式详解
Jun 03 PHP
PHP 之 写时复制介绍(Copy On Write)
May 13 PHP
Zend Framework教程之动作的基类Zend_Controller_Action详解
Mar 07 PHP
thinkphp3.x中session方法的用法分析
May 20 PHP
Yii2下session跨域名共存的解决方案
Feb 04 PHP
PHP中类的自动加载的方法
Mar 17 PHP
php实现文件预览功能
May 23 PHP
PHP简单留言本功能实现代码
Jun 09 PHP
PHP实现从PostgreSQL数据库检索数据分页显示及根据条件查找数据示例
Jun 09 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观察者模式定义与用法实例分析
2019/03/22 PHP
使用IE的地址栏来辅助调试Web页脚本
2007/03/08 Javascript
javascript 不间断的图片滚动并可点击
2010/01/15 Javascript
javascript实现的像java、c#之类的sleep暂停的函数代码
2010/03/04 Javascript
基于JQuery 选择器使用说明介绍
2013/04/18 Javascript
javascript 获取网页标题代码实例
2014/01/22 Javascript
Javascript动态引用CSS文件的2种方法介绍
2014/06/06 Javascript
javascript设计模式之对象工厂函数与构造函数详解
2015/07/30 Javascript
基于replaceChild制作简单的吞噬特效
2015/09/21 Javascript
jQuery实现鼠标悬停3d菜单展开动画效果
2017/01/19 Javascript
jQuery中ztree 点击文本框弹出下拉框的实例代码
2017/02/05 Javascript
在vue中添加Echarts图表的基本使用教程
2017/11/22 Javascript
Node.js上传文件功能之服务端如何获取文件上传进度
2018/02/05 Javascript
微信小程序表单弹窗实例
2018/07/19 Javascript
javascript设计模式 ? 代理模式原理与用法实例分析
2020/04/16 Javascript
[01:04:05]Mineski vs TNC 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
python文件写入实例分析
2015/04/08 Python
用Python中的字典来处理索引统计的方法
2015/05/05 Python
Python实现类似jQuery使用中的链式调用的示例
2016/06/16 Python
Python读取一个目录下所有目录和文件的方法
2016/07/15 Python
python 基础教程之Map使用方法
2017/01/17 Python
在CMD命令行中运行python脚本的方法
2018/05/12 Python
python assert的用处示例详解
2019/04/01 Python
django框架基于queryset和双下划线的跨表查询操作详解
2019/12/11 Python
python实现与redis交互操作详解
2020/04/21 Python
详解python定时简单爬取网页新闻存入数据库并发送邮件
2020/11/27 Python
css3中flex布局宽度不生效的解决
2020/12/09 HTML / CSS
内刊编辑求职自荐书范文
2014/02/19 职场文书
《梅兰芳学艺》教学反思
2014/02/24 职场文书
党员干部承诺书范文
2014/03/25 职场文书
幼儿园中班教师寄语
2014/04/03 职场文书
一帮一活动总结
2014/05/08 职场文书
2019年公司快递收发管理制度模板
2019/11/20 职场文书
Java8中接口的新特性使用指南
2021/11/01 Java/Android
Win11怎样将锁屏账户头像图片改成动画视频
2021/11/21 数码科技
教你如何让spark sql写mysql的时候支持update操作
2022/02/15 MySQL