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 09 PHP
php后台程序与Javascript的两种交互方式
Oct 25 PHP
PHP技术开发技巧分享
Mar 23 PHP
一个基于phpQuery的php通用采集类分享
Apr 09 PHP
php+highchats生成动态统计图
May 21 PHP
使用ThinkPHP+Uploadify实现图片上传功能
Jun 26 PHP
PHP之预定义接口详解
Jul 29 PHP
php类的自动加载操作实例详解
Sep 28 PHP
PHP实现超简单的SSL加密解密、验证及签名的方法示例
Aug 28 PHP
PHP convert_cyr_string()函数讲解
Feb 13 PHP
PHP如何防止XSS攻击与XSS攻击原理的讲解
Mar 22 PHP
Laravel5.5 视图 - 创建视图和数据传递示例
Oct 21 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
PHP4在Windows2000下的安装
2006/10/09 PHP
php连接mssql数据库的几种方法
2013/02/21 PHP
Thinkphp多文件上传实现方法
2014/10/31 PHP
ubutu 16.04环境下,PHP与mysql数据库,网页登录验证实例讲解
2017/07/20 PHP
跟随鼠标旋转的文字
2006/11/30 Javascript
捕获关闭窗口的脚本
2009/01/10 Javascript
限制文本框输入N个字符的js代码
2010/05/13 Javascript
jQuery中:image选择器用法实例
2015/01/03 Javascript
解决jquery中动态新增的元素节点无法触发事件问题的两种方法
2015/10/30 Javascript
详解angularJs中自定义directive的数据交互
2017/01/13 Javascript
codeMirror插件使用讲解
2017/01/16 Javascript
Vue侧滑菜单组件——DrawerLayout
2017/12/18 Javascript
浅谈node中的cluster集群
2018/06/02 Javascript
微信小程序顶部导航栏滑动tab效果
2019/01/28 Javascript
详解VUE调用本地json的使用方法
2019/05/15 Javascript
解决vue elementUI中table里数字、字母、中文混合排序问题
2020/01/07 Javascript
js实现轮播图特效
2020/05/28 Javascript
利用python实现周期财务统计可视化
2019/08/25 Python
Python assert关键字原理及实例解析
2019/12/13 Python
tensorflow 获取所有variable或tensor的name示例
2020/01/04 Python
Selenium启动Chrome时配置选项详解
2020/03/18 Python
Python如何爬取qq音乐歌词到本地
2020/06/01 Python
python 读取串口数据的示例
2020/11/09 Python
详解pycharm连接远程linux服务器的虚拟环境的方法
2020/11/13 Python
基于Python的身份证验证识别和数据处理详解
2020/11/14 Python
Pandas对每个分组应用apply函数的实现
2020/12/13 Python
HTML5本地数据库基础操作详解
2016/04/26 HTML / CSS
HTML5实现应用程序缓存(Application Cache)
2020/06/16 HTML / CSS
学生个人的自我评价分享
2013/11/05 职场文书
电子商务应届生求职信
2013/11/16 职场文书
市政施工员自我鉴定
2014/01/15 职场文书
2014年3.15团委活动总结
2014/03/16 职场文书
创先争优承诺书
2015/01/20 职场文书
初中语文教学反思范文
2016/03/03 职场文书
深入解析NumPy中的Broadcasting广播机制
2021/05/30 Python
前端监听websocket消息并实时弹出(实例代码)
2021/11/27 Javascript