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 动态多文件上传
Jan 18 PHP
php cli模式学习(PHP命令行模式)
Jun 03 PHP
Session服务器配置指南与使用经验的深入解析
Jun 17 PHP
如何使用php输出时间格式
Aug 31 PHP
PHP批量检测并去除文件BOM头代码实例
May 08 PHP
PHP高手需要要掌握的知识点
Aug 21 PHP
php通过分类列表产生分类树数组的方法
Apr 20 PHP
Zend Framework教程之Loader以及PluginLoader用法详解
Mar 09 PHP
thinkPHP实现递归循环栏目并按照树形结构无限极输出的方法
May 19 PHP
Zend Framework上传文件重命名的实现方法
Nov 25 PHP
PHP中的使用curl发送请求(GET请求和POST请求)
Feb 08 PHP
laravel实现查询最后执行的一条sql语句的方法
Oct 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框架Phpbean说明
2008/01/10 PHP
Notice: Trying to get property of non-object problem(PHP)解决办法
2012/03/11 PHP
PHP函数strip_tags的一个bug浅析
2014/05/22 PHP
PHP两个n位的二进制整数相加问题的解决
2018/08/26 PHP
Laravel中9个不经常用的小技巧汇总
2019/04/16 PHP
Yii框架数据库查询、增加、删除操作示例
2019/10/14 PHP
js函数般调用正则
2008/04/08 Javascript
Js 获取当前日期时间及其它操作实现代码
2021/03/04 Javascript
深入探讨JavaScript、JQuery屏蔽网页鼠标右键菜单及禁止选择复制
2014/06/10 Javascript
window.location的重写及判断location是否被重写
2014/09/04 Javascript
js面向对象之公有、私有、静态属性和方法详解
2015/04/17 Javascript
JS实现霓虹灯文字效果的方法
2015/08/06 Javascript
jQuery+jsp实现省市县三级联动效果(附源码)
2015/12/03 Javascript
el表达式 写入bootstrap表格数据页面的实例代码
2017/01/11 Javascript
创建简单的node服务器实例(分享)
2017/06/23 Javascript
javascript标准库(js的标准内置对象)总结
2018/05/26 Javascript
Vue 指令实现按钮级别权限管理功能
2019/04/23 Javascript
微信小程序中为什么使用var that=this
2019/08/27 Javascript
javascript实现智能手环时间显示
2020/09/18 Javascript
[44:47]Ti4 循环赛第三日 iG vs NaVi
2014/07/12 DOTA
使用python解析xml成对应的html示例分享
2014/04/02 Python
Python中用max()方法求最大值的介绍
2015/05/15 Python
快速查询Python文档方法分享
2017/12/27 Python
python开启debug模式的方法
2019/06/27 Python
wordpress添加Html5的表单验证required方法小结
2020/08/18 HTML / CSS
波兰品牌内衣及泳装网上商店:Astratex.pl
2017/02/03 全球购物
戴森西班牙官网:Dyson西班牙
2020/02/04 全球购物
初中数学教学反思
2014/01/16 职场文书
中国好声音广告词
2014/03/18 职场文书
应聘英语教师求职信
2014/04/24 职场文书
求职信内容怎么写
2014/05/26 职场文书
计算机专业毕业生自荐书
2014/06/02 职场文书
机械电子工程专业自荐书
2014/06/10 职场文书
Nginx安装完成没有生成sbin目录的解决方法
2021/03/31 Servers
jquery插件实现图片悬浮
2021/04/16 jQuery
深入理解go缓存库freecache的使用
2022/02/15 Golang