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 OPCode缓存 APC详细介绍
Oct 12 PHP
ThinkPHP3.1新特性之内容解析输出详解
Jun 19 PHP
php中把美国时间转为北京时间的自定义函数分享
Jul 28 PHP
PHP下的Oracle客户端扩展(OCI8)安装教程
Sep 10 PHP
PHP递归复制、移动目录的自定义函数分享
Nov 18 PHP
PHP中使用file_get_contents抓取网页中文乱码问题解决方法
Dec 17 PHP
PHP框架Laravel的小技巧两则
Feb 10 PHP
PHP判断是否为空的几个函数对比
Apr 21 PHP
PHP+JS实现大规模数据提交的方法
Jul 02 PHP
详解如何在云服务器上部署Laravel
Jun 30 PHP
PHP大文件切割上传并带进度条功能示例
Jul 01 PHP
通过PHP实现获取访问用户IP
May 09 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精确的统计在线人数的方法
2015/10/21 PHP
解析WordPress中控制用户登陆和判断用户登陆的PHP函数
2016/03/01 PHP
php curl简单采集图片生成base64编码(并附curl函数参数说明)
2019/02/15 PHP
Laravel5.1 框架Middleware中间件基本用法实例分析
2020/01/04 PHP
PHP实现爬虫爬取图片代码实例
2021/03/03 PHP
javascript:以前写的xmlhttp池,代码
2008/05/18 Javascript
js网页侧边随页面滚动广告效果实现
2011/04/14 Javascript
js+xml生成级联下拉框代码
2012/07/24 Javascript
使用jQuery实现的网页版的个人简历(可换肤)
2013/04/19 Javascript
javascript利用apply和arguments复用方法
2013/11/25 Javascript
JavaScript中的数组操作介绍
2014/12/30 Javascript
js实现单击图片放大图片的方法
2015/02/17 Javascript
js 中获取制定的cook信息实现方法
2016/11/19 Javascript
基于jQuery实现滚动切换效果
2016/12/02 Javascript
jQuery滑动到底部加载下一页数据的实例代码
2017/05/22 jQuery
vue组件间的参数传递实例详解
2019/04/26 Javascript
Javascript异步编程async实现过程详解
2020/04/02 Javascript
vue-cli 关闭热更新操作
2020/09/18 Javascript
Electron+vue从零开始打造一个本地播放器的方法示例
2020/10/27 Javascript
Python QQBot库的QQ聊天机器人
2019/06/19 Python
PyQT5 QTableView显示绑定数据的实例详解
2019/06/25 Python
python celery分布式任务队列的使用详解
2019/07/08 Python
使用python+whoosh实现全文检索
2019/12/09 Python
英国家庭和商业健身器材购物网站:Fitness Options
2018/07/05 全球购物
中间件分为哪几类
2012/03/14 面试题
外语系毕业生求职自荐信
2014/04/12 职场文书
食品安全宣传标语
2014/06/07 职场文书
三八活动策划方案
2014/08/17 职场文书
党员干部对十八届四中全会的期盼
2014/10/17 职场文书
故宫导游词
2015/01/31 职场文书
党员评议自我评价
2015/03/03 职场文书
2015年幼儿园学期工作总结
2015/05/22 职场文书
2015年生产部工作总结范文
2015/05/25 职场文书
小学运动会入场词
2015/07/18 职场文书
十二月早安励志心语大全
2019/12/03 职场文书
MySQL 条件查询的常用操作
2022/04/28 MySQL