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类
Nov 25 PHP
PHPThumb PHP 图片缩略图库
Mar 11 PHP
UCenter 批量添加用户的php代码
Jul 17 PHP
PHP读取文件并可支持远程文件的代码分享
Oct 03 PHP
解析smarty模板中类似for的功能实现
Jun 18 PHP
PHP获取php,mysql,apche的版本信息示例代码
Jan 16 PHP
php中字符串和正则表达式详解
Oct 23 PHP
php上传功能集后缀名判断和随机命名(强力推荐)
Sep 10 PHP
分享php多功能图片处理类
May 15 PHP
Yii2中使用join、joinwith多表关联查询
Jun 30 PHP
php版微信公众平台接口参数调试实现判断用户行为的方法
Sep 23 PHP
CI框架(ajax分页,全选,反选,不选,批量删除)完整代码详解
Nov 01 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
WordPress开发中短代码的实现及相关函数使用技巧
2016/01/05 PHP
php中strlen和mb_strlen用法实例分析
2016/11/12 PHP
php通过pecl方式安装扩展的实例讲解
2018/02/02 PHP
PHPExcel 修改已存在Excel的方法
2018/05/03 PHP
详解使用php-cs-fixer格式化代码
2020/09/16 PHP
JavaScript语法着色引擎(demo及打包文件下载)
2007/06/13 Javascript
JQery 渐变图片导航效果代码 漂亮
2010/01/01 Javascript
js null,undefined,字符串小结
2010/08/21 Javascript
js 得到文件后缀(通过正则实现)
2013/07/08 Javascript
sencha touch 模仿tabpanel导航栏TabBar的实例代码
2013/10/24 Javascript
JavaScript中伪协议 javascript:使用探讨
2014/07/18 Javascript
JavaScript包装对象使用详解
2015/07/09 Javascript
浅谈JavaScript的Polymer框架中的事件绑定
2015/07/29 Javascript
解决jquery无法找到其他父级子集问题的方法
2016/05/10 Javascript
Javascript小技能总结(推荐)
2016/06/02 Javascript
jQuery实现容器间的元素拖拽功能
2020/12/01 jQuery
[16:43]Heroes19_剃刀(完美)
2014/10/31 DOTA
[01:03:31]DOTA2上海特级锦标赛B组资格赛#1 Alliance VS Fnatic第二局
2016/02/26 DOTA
Python 文件和输入输出小结
2013/10/09 Python
Python格式化css文件的方法
2015/03/10 Python
详解python多线程、锁、event事件机制的简单使用
2018/04/27 Python
Python+selenium 获取浏览器窗口坐标、句柄的方法
2018/10/14 Python
深入理解Django自定义信号(signals)
2018/10/15 Python
PyQt5 closeEvent关闭事件退出提示框原理解析
2020/01/08 Python
Python中正则表达式对单个字符,多个字符和匹配边界等使用
2021/01/27 Python
爱尔兰电脑、家电和家具购物网站:Buy It Direct
2019/07/09 全球购物
新闻系毕业生推荐信
2013/11/16 职场文书
市场专员岗位职责
2014/02/14 职场文书
室内设计专业自荐信
2014/05/31 职场文书
关于运动会的口号
2014/06/07 职场文书
药店促销活动策划方案
2014/08/24 职场文书
司机岗位职责
2015/02/04 职场文书
2014年度个人总结范文
2015/03/09 职场文书
开业庆典嘉宾致辞
2015/08/01 职场文书
聘任通知书
2015/09/21 职场文书
Java并发编程之详解CyclicBarrier线程同步
2021/06/23 Java/Android