PHP实现浏览器中直接输出图片的方法示例


Posted in PHP onMarch 14, 2018

本文实例讲述了PHP实现浏览器中直接输出图片的方法。分享给大家供大家参考,具体如下:

在浏览器中输出图片,最简单的方法当然是使用HTML的img标签,直接传入图片路径或者链接。但有时候我们需要把图片做一些处理,比如改一下图片质量或者尺寸再显示出来,我们可以使用PHP内置的图片处理函数imagecreatefromjpeg(或imagecreatefrompng)由文件或 URL 创建一个新图象和imagejpeg(或imagepng),通过 header() 发送 Content-type: image/jpeg 可以使 PHP 脚本直接输出 JPEG 图像。

/*
 * php 页面直接输出图片
 */
function showImg($img){
  $info = getimagesize($img);
  $imgExt = image_type_to_extension($info[2], false); //获取文件后缀
  $fun = "imagecreatefrom{$imgExt}";
  $imgInfo = $fun($img);         //1.由文件或 URL 创建一个新图象。如:imagecreatefrompng ( string $filename )
  //$mime = $info['mime'];
  $mime = image_type_to_mime_type(exif_imagetype($img)); //获取图片的 MIME 类型
  header('Content-Type:'.$mime);
  $quality = 100;
  if($imgExt == 'png') $quality = 9;   //输出质量,JPEG格式(0-100),PNG格式(0-9)
  $getImgInfo = "image{$imgExt}";
  $getImgInfo($imgInfo, null, $quality); //2.将图像输出到浏览器或文件。如: imagepng ( resource $image )
  imagedestroy($imgInfo);
}

可以读取本地图片文件,也可以读取远程图片链接。

注:imagejpeg(或imagepng)支持仅在PHP与GD-1.8或更高版本一起编译时可用。quality为可选项,jpeg范围从0(最差质量,文件更小)到100(最佳质量,文件最大),png范围从 0到9。

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
PHP session会话的安全性分析
Sep 08 PHP
php获取通过http协议post提交过来xml数据及解析xml
Dec 16 PHP
php魔术函数__call()用法实例分析
Feb 13 PHP
php实现将字符串按照指定距离进行分割的方法
Mar 14 PHP
PHP使用mysqldump命令导出数据库
Apr 14 PHP
PHP+MYSQL中文乱码问题
Jul 01 PHP
Laravel执行migrate命令提示:No such file or directory的解决方法
Mar 16 PHP
php面向对象编程self和static的区别
May 08 PHP
浅谈PHP中类和对象的相关函数
Apr 26 PHP
thinkPHP多表查询及分页功能实现方法示例
Jul 03 PHP
php实现保存周期为1天的购物车类
Jul 07 PHP
php学习笔记之字符串常见操作总结
Jul 16 PHP
PHP实现生成推广海报的方法详解
Mar 14 #PHP
PHP基于phpqrcode类生成二维码的方法详解
Mar 14 #PHP
PHP判断是否是微信打开,浏览器打开的方法
Mar 14 #PHP
Laravel模型事件的实现原理详解
Mar 14 #PHP
PHP实现根据数组某个键值大小进行排序的方法
Mar 13 #PHP
Laravel多用户认证系统示例详解
Mar 13 #PHP
PHP简单实现防止SQL注入的方法
Mar 13 #PHP
You might like
实现分十页分向前十页向后十页的处理
2006/10/09 PHP
修改PHP的memory_limit限制的方法分享
2012/02/21 PHP
typecho插件编写教程(三):保存配置
2015/05/28 PHP
thinkPHP查询方式小结
2016/01/09 PHP
phpinfo() 中 Local Value(局部变量)Master Value(主变量) 的区别
2016/02/03 PHP
Windows 下安装 swoole 图文教程(php)
2017/06/05 PHP
document.documentElement && document.documentElement.scrollTop
2007/12/01 Javascript
根据对象的某一属性进行排序的js代码(如:name,age)
2010/08/10 Javascript
JavaScript表达式:URL 协议介绍
2013/03/10 Javascript
JQuery Highcharts 动态生成图表的方法
2013/11/15 Javascript
jquery防止重复执行动画避免页面混乱
2014/04/22 Javascript
jQuery给元素添加样式的方法详解
2015/12/30 Javascript
vue实现nav导航栏的方法
2017/12/13 Javascript
nodeJS与MySQL实现分页数据以及倒序数据
2020/06/05 NodeJs
[51:36]Optic vs Newbee 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
Python中函数的用法实例教程
2014/09/08 Python
python使用邻接矩阵构造图代码示例
2017/11/10 Python
python+pandas分析nginx日志的实例
2018/04/28 Python
python 将md5转为16字节的方法
2018/05/29 Python
基于DataFrame改变列类型的方法
2018/07/25 Python
详解python之heapq模块及排序操作
2019/04/04 Python
numpy矩阵数值太多不能全部显示的解决
2020/05/14 Python
python opencv把一张图片嵌入(叠加)到另一张图片上的实现代码
2020/06/11 Python
完美解决Pycharm中matplotlib画图中文乱码问题
2021/01/11 Python
Python实现王者荣耀自动刷金币的完整步骤
2021/01/22 Python
人事助理岗位职责
2013/11/18 职场文书
银行员工辞职信范文
2014/01/20 职场文书
荷叶圆圆教学反思
2014/02/01 职场文书
优秀班集体获奖感言
2014/02/03 职场文书
黄河的主人教学反思
2014/02/07 职场文书
2014财产信托协议书范本
2014/11/18 职场文书
复兴之路纪录片观后感
2015/06/02 职场文书
未婚证明范本
2015/06/15 职场文书
春节慰问简报
2015/07/21 职场文书
php远程请求CURL案例(爬虫、保存登录状态)
2021/04/01 PHP
HTML5中 rem适配方案与 viewport 适配问题详解
2021/04/27 HTML / CSS