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 调用远程url的六种方法小结
Nov 02 PHP
Google Voice 短信发送接口PHP开源版(2010.5更新)
Jul 22 PHP
ubuntu下编译安装xcache for php5.3 的具体操作步骤
Jun 18 PHP
PHP采集类snoopy详细介绍(snoopy使用教程)
Jun 19 PHP
PHP生成随机密码类分享
Jun 25 PHP
php获取Google机器人访问足迹的方法
Apr 15 PHP
PHP将MySQL的查询结果转换为数组并用where拼接的示例
May 13 PHP
关于PHP转换超过2038年日期出错的问题解决
Jun 28 PHP
PHP连接及操作PostgreSQL数据库的方法详解
Jan 30 PHP
Laravel6.2中用于用户登录的新密码确认流程详解
Oct 16 PHP
在laravel中实现将查询的对象转换为多维数组的函数
Oct 21 PHP
php 解析非标准json、非规范json
Apr 01 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
风味层面去分析咖啡油脂
2021/03/03 咖啡文化
php采集时被封ip的解决方法
2010/08/29 PHP
使用PHP处理数据库数据如何将数据返回客户端并显示当前状态
2016/02/16 PHP
PHP实现的CURL非阻塞调用类
2018/07/26 PHP
JavaScript 继承详解(二)
2009/07/13 Javascript
Jquery遍历节点的方法小集
2014/01/22 Javascript
Javascript+CSS实现影像卷帘效果思路及代码
2014/10/20 Javascript
使用jquery 简单实现下拉菜单
2015/01/14 Javascript
JavaScript数据结构与算法之栈详解
2015/03/12 Javascript
JS验证IP,子网掩码,网关和MAC的方法
2015/07/02 Javascript
浅析Node.js的Stream模块中的Readable对象
2015/07/29 Javascript
javascript url几种编码方式详解
2016/06/06 Javascript
JS操作xml对象转换为Json对象示例
2017/03/25 Javascript
webpack2.0搭建前端项目的教程详解
2017/04/05 Javascript
详解webpack异步加载业务模块
2017/06/23 Javascript
详解webpack进阶之插件篇
2017/07/06 Javascript
如何将 jQuery 从你的 Bootstrap 项目中移除(取而代之使用Vue.js)
2017/07/17 jQuery
Vue的事件响应式进度条组件实例详解
2018/02/04 Javascript
React之PureComponent的使用作用
2018/07/10 Javascript
vue项目在安卓低版本机显示空白的原因分析(两种)
2018/09/04 Javascript
使用axios发送post请求,将JSON数据改为form类型的示例
2019/10/31 Javascript
Vue.js 中制作自定义选择组件的代码附演示demo
2020/02/28 Javascript
Python中类的初始化特殊方法
2017/12/01 Python
python初学之用户登录的实现过程(实例讲解)
2017/12/23 Python
python保存二维数组到txt文件中的方法
2018/11/15 Python
python:接口间数据传递与调用方法
2018/12/17 Python
用Python PIL实现几个简单的图片特效
2019/01/18 Python
Python队列、进程间通信、线程案例
2019/10/25 Python
python 爬虫基本使用——统计杭电oj题目正确率并排序
2020/10/26 Python
德国鞋子网上商店:Omoda.de
2017/03/31 全球购物
远程研修随笔感言
2014/02/10 职场文书
小学生自我评价100字(15篇)
2014/09/18 职场文书
实习证明格式范文
2014/10/14 职场文书
群众路线教育实践活动整改落实情况汇报
2014/10/28 职场文书
2015年初中元旦晚会活动总结
2014/11/28 职场文书
导游词之青岛太清宫
2019/12/13 职场文书