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 闭包特性在实际应用中的问题
Oct 30 PHP
解析centos中Apache、php、mysql 默认安装路径
Jun 25 PHP
php+js实现图片的上传、裁剪、预览、提交示例
Aug 27 PHP
php数组添加元素方法小结
Dec 20 PHP
php使用escapeshellarg时中文被过滤的解决方法
Jul 10 PHP
PHP入门教程之会话控制技巧(cookie与session)
Sep 11 PHP
php连接微软MSSQL(sql server)完全攻略
Nov 27 PHP
利用PHP访问带有密码的Redis方法示例
Feb 09 PHP
PHP如何读取由JavaScript设置的Cookie
Mar 22 PHP
Paypal实现循环扣款(订阅)功能
Mar 23 PHP
PHP实现打包下载文件的方法示例
Oct 07 PHP
Laravel框架定时任务2种实现方式示例
Dec 08 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
php模板函数 正则实现代码
2012/10/15 PHP
PHP中substr函数字符串截取用法分析
2016/01/07 PHP
Symfony2安装的方法(2种方法)
2016/02/04 PHP
php获取文件后缀的9种方法
2016/03/22 PHP
PHP面向对象程序设计中的self、static、parent关键字用法分析
2019/08/14 PHP
php redis setnx分布式锁简单原理解析
2020/10/23 PHP
Prototype 学习 工具函数学习($w,$F方法)
2009/07/12 Javascript
JavaScript中的集合及效率
2010/01/08 Javascript
jquery创建一个新的节点对象(自定义结构/内容)的好方法
2013/01/21 Javascript
js showModalDialog参数的使用详解
2014/01/07 Javascript
让浏览器崩溃的12行JS代码(DoS攻击分析及防御)
2016/10/10 Javascript
解析JavaScript模仿块级作用域
2016/12/29 Javascript
react.js 父子组件数据绑定实时通讯的示例代码
2017/09/25 Javascript
jQuery实现的下雪动画效果示例【附源码下载】
2018/02/02 jQuery
帮你彻底搞懂JS中的prototype、__proto__与constructor(图解)
2019/08/23 Javascript
使用Vue实现调用接口加载页面初始数据
2019/10/28 Javascript
JS实现瀑布流效果
2020/03/07 Javascript
vant 时间选择器--开始时间和结束时间实例
2020/11/04 Javascript
由Python运算π的值深入Python中科学计算的实现
2015/04/17 Python
Python 对象中的数据类型
2017/05/13 Python
Python闭包之返回函数的函数用法示例
2018/01/27 Python
Python 错误和异常代码详解
2018/01/29 Python
搞清楚 Python traceback的具体使用方法
2019/05/13 Python
python 判断字符串中是否含有汉字或非汉字的实例
2019/07/15 Python
Win10下python 2.7与python 3.7双环境安装教程图解
2019/10/12 Python
Tensorflow轻松实现XOR运算的方式
2020/02/03 Python
HTML5播放实现rtmp流直播
2020/06/16 HTML / CSS
私有程序集与共享程序集有什么区别
2013/04/05 面试题
什么是GWT的Entry Point
2013/08/16 面试题
客服实习的个人自我鉴定
2013/10/20 职场文书
新闻专业毕业生英文求职信
2014/03/19 职场文书
希特勒经典演讲稿
2014/05/19 职场文书
党员四风问题对照检查材料思想汇报
2014/09/16 职场文书
主婚人致辞精选
2015/07/28 职场文书
《夸父追日》教学反思
2016/02/20 职场文书
OpenCV项目实践之停车场车位实时检测
2022/04/11 Python