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面向对象全攻略 (十) final static const关键字的使用
Sep 30 PHP
php radio 单选框获取与保持值的实现代码
May 15 PHP
PHP对象转换为数组函数(递归方法)
Feb 04 PHP
PHP cdata 处理(详细介绍)
Jul 05 PHP
ThinkPHP之R方法实例详解
Jun 20 PHP
PHP使用memcache缓存技术提高响应速度的方法
Dec 26 PHP
php单例模式示例分享
Feb 12 PHP
PHP中的traits实现代码复用使用实例
May 13 PHP
Laravel+jQuery实现AJAX分页效果
Sep 14 PHP
ThinkPHP打水印及设置水印位置的方法
Oct 14 PHP
PHP实现的AES加密、解密封装类与用法示例
Aug 02 PHP
在Laravel5中正确设置文件权限的方法
May 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
eaglephp使用微信api接口开发微信框架
2014/01/09 PHP
php下获取http状态的实现代码
2014/05/09 PHP
从零开始学YII2框架(一)通过Composer安装Yii2框架
2014/08/20 PHP
浅谈thinkphp的实例化模型
2015/01/04 PHP
PHP中的流(streams)浅析
2015/07/02 PHP
PHP单例模式详解及实例代码
2016/12/21 PHP
捕获关闭窗口的脚本
2009/01/10 Javascript
jquery实现表格奇数偶数行不同样式(有图为证及实现代码)
2013/01/23 Javascript
javascript表单验证 - Parsley.js使用和配置
2013/01/25 Javascript
关于JavaScript中name的意义冲突示例介绍
2014/05/29 Javascript
JavaScript学习笔记之DOM基础 2.4
2015/08/14 Javascript
微信小程序模板之分页滑动栏
2017/02/10 Javascript
ES6新特性之变量和字符串用法示例
2017/04/01 Javascript
BootStrap中的Fontawesome 图标
2017/05/25 Javascript
vue实现移动端图片裁剪上传功能
2020/08/18 Javascript
vue中如何创建多个ueditor实例教程
2017/11/14 Javascript
vue+vuex+axios实现登录、注册页权限拦截
2018/03/09 Javascript
原生js实现的移动端可拖动进度条插件功能详解
2019/08/15 Javascript
Vue + element 实现多选框组并保存已选id集合的示例代码
2020/06/03 Javascript
JS中锚点链接点击平滑滚动并自由调整到顶部位置
2021/02/06 Javascript
Python如何实现MySQL实例初始化详解
2017/11/06 Python
Sanic框架基于类的视图用法示例
2018/07/18 Python
Python with用法:自动关闭文件进程
2019/07/10 Python
pandas DataFrame创建方法的方式
2019/08/02 Python
Python实现ATM系统
2020/02/17 Python
在pytorch中实现只让指定变量向后传播梯度
2020/02/29 Python
python如何编写win程序
2020/06/08 Python
pycharm 添加解释器的方法步骤
2020/08/31 Python
python 制作磁力搜索工具
2021/03/04 Python
HTML5 Canvas渐进填充与透明实现图像的Mask效果
2013/07/11 HTML / CSS
美国网上眼镜供应商:LEOTONY(眼镜、RX太阳镜和太阳镜)
2017/10/31 全球购物
PHP如何自定义函数
2016/09/16 面试题
学习雷锋精神活动总结
2015/02/06 职场文书
2015年市场营销工作总结
2015/07/23 职场文书
2016优秀青年志愿者事迹材料
2016/02/25 职场文书
简单介绍Python的第三方库yaml
2021/06/18 Python