PHP实现浏览器中直接输出图片的方法示例

 更新时间:2018年03月14日 11:38:39   作者:江南极客  
这篇文章主要介绍了PHP实现浏览器中直接输出图片的方法,结合实例形式分析了php输出图片的原理与相关操作技巧,需要的朋友可以参考下

本文实例讲述了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数组(Array)操作技巧大全》、《PHP数据结构与算法教程》、《php程序设计算法总结》、《PHP数学运算技巧总结》、《php字符串(string)用法总结》及《php常见数据库操作技巧汇总

希望本文所述对大家PHP程序设计有所帮助。

相关文章

  • 探讨PHP使用eAccelerator的API开发详解

    探讨PHP使用eAccelerator的API开发详解

    本篇文章是对PHP使用eAccelerator的API开发进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • php超详细讲解命名管道

    php超详细讲解命名管道

    这篇文章主要介绍了php中通过命名管道实现跨语言进程间通信的案例,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下
    2022-07-07
  • php将文本文件转换csv输出的方法

    php将文本文件转换csv输出的方法

    这篇文章主要介绍了php将文本文件转换csv输出的方法,通过对SplFileObject类的继承与扩展实现文本文件转换输出的功能,是非常实用的技巧,需要的朋友可以参考下
    2014-12-12
  • PHP删除HTMl标签的三种解决方法

    PHP删除HTMl标签的三种解决方法

    本篇文章是对PHP删除HTMl标签的三种解决方法进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • php获取是星期几的的一些常用姿势

    php获取是星期几的的一些常用姿势

    这篇文章主要给大家总结介绍了利用php获取是星期几的一些姿势,文中通过示例代码介绍的非常详细,对大家学习或者使用php具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-12-12
  • Thinkphp和onethink实现微信支付插件

    Thinkphp和onethink实现微信支付插件

    这篇文章主要为大家详细介绍了Thinkphp和onethink实现微信支付插件,感兴趣的小伙伴们可以参考一下
    2016-04-04
  • PHP实现快速向MySQL插入千万条数据

    PHP实现快速向MySQL插入千万条数据

    在开发中,有时需要向数据库中插入大量数据,本文将探讨如何使用PHP来快速向MySQL数据库插入1000万条数据,并分享一些优化方法,以确保性能的最优
    2023-08-08
  • php中html_entity_decode实现HTML实体转义

    php中html_entity_decode实现HTML实体转义

    这篇文章主要介绍了php中html_entity_decode实现HTML实体转义的相关资料,需要的朋友可以参考下
    2018-06-06
  • php 判断页面或图片是否经过gzip压缩的方法

    php 判断页面或图片是否经过gzip压缩的方法

    下面小编就为大家带来一篇php 判断页面或图片是否经过gzip压缩的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-04-04
  • php加密之discuz内容经典加密方式实例详解

    php加密之discuz内容经典加密方式实例详解

    这篇文章主要介绍了php加密之discuz内容经典加密方式,结合具体实例形式详细分析了discuz加密的使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2017-02-02

最新评论