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 相关文章推荐
NOD32 v2.70.32 简体中文封装版 提供下载了
Feb 27 PHP
PHP Mysql编程之高级技巧
Aug 27 PHP
php利用header函数实现文件下载时直接提示保存
Nov 12 PHP
Php获取金书网的书名的实现代码
Jun 11 PHP
PHP闭包(Closure)使用详解
May 02 PHP
基于php iconv函数的使用详解
Jun 09 PHP
PHP实现获取域名的方法小结
Nov 05 PHP
php从数组中随机选择若干不重复元素的方法
Mar 14 PHP
PHP连接access数据库
Mar 27 PHP
简单的pgsql pdo php操作类实现代码
Aug 25 PHP
php 运算符与表达式详细介绍
Nov 30 PHP
PHP批量删除jQuery操作
Jul 23 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/02/25 PHP
php rmdir使用递归函数删除非空目录实例详解
2016/10/20 PHP
PHP实现支持CURL字符串证书传输的方法
2019/03/23 PHP
JavaScript设置FieldSet展开与收缩
2009/05/15 Javascript
Mootools 1.2 手风琴(Accordion)教程
2009/09/15 Javascript
Javascript实现的简单右键菜单类
2015/09/23 Javascript
学习jQuey中的return false
2015/12/18 Javascript
jQuery实现的放大镜效果示例
2016/09/13 Javascript
vue中使用cropperjs的方法
2018/03/01 Javascript
jQuery实现回到顶部效果
2020/10/19 jQuery
详解Python2.x中对Unicode编码的使用
2015/04/03 Python
深入探究Python中变量的拷贝和作用域问题
2015/05/05 Python
Python进程间通信用法实例
2015/06/04 Python
谈谈Python进行验证码识别的一些想法
2016/01/25 Python
Python 模拟员工信息数据库操作的实例
2017/10/23 Python
Django中数据库的数据关系:一对一,一对多,多对多
2018/10/21 Python
Django框架实现分页显示内容的方法详解
2019/05/10 Python
Selenium+Python 自动化操控登录界面实例(有简单验证码图片校验)
2019/06/28 Python
简单了解python的内存管理机制
2019/07/08 Python
python中dict使用方法详解
2019/07/17 Python
将 Ubuntu 16 和 18 上的 python 升级到最新 python3.8 的方法教程
2020/03/11 Python
Python3.7.0 Shell添加清屏快捷键的实现示例
2020/03/23 Python
OpenCV 表盘指针自动读数的示例代码
2020/04/10 Python
解决keras模型保存h5文件提示无此目录问题
2020/07/01 Python
一家专门经营包包的英国网站:MyBag
2019/09/08 全球购物
英国DVD和蓝光碟片购买网站:Zoom.co.uk(电影和电视)
2019/09/23 全球购物
澳大利亚床上用品、浴巾和家居用品购物网站:Bambury
2020/04/16 全球购物
学习党课思想汇报
2013/12/29 职场文书
监察建议书范文
2014/03/12 职场文书
计算机科学技术自荐信
2014/06/12 职场文书
公安领导班子四风问题个人整改措施思想汇报
2014/10/09 职场文书
2014年妇女工作总结
2014/12/06 职场文书
全国爱眼日活动总结
2015/02/27 职场文书
二年级作文之动物作文
2019/11/13 职场文书
Linux7.6二进制安装Mysql8.0.27详细操作步骤
2021/11/27 MySQL
MongoDB支持的数据类型
2022/04/11 MongoDB