php图片类型的转换方法

  介绍

小编给大家分享一下php图片类型的转换方法,希望大家阅读完这篇文章后大所收获、下面让我们一起去探讨吧!

php图片类型转换的实现方法:首先安装php扩展gd和exif,然后通过“transform_image”方法实现图片类型转换,最后返回转换结果即可。

需求

开发过程中总会遇到一些需求需要对图片格式进行转换。比如gif转png, jpg转png

如最近使用某平台的图片文件识别,居然不支持gif格式,那么就需要将gif处理成png等。

依赖

php扩展gd和exif

实现

/* *   *图片格式转换   * @param字符串$ image_path文件路径或url   * @param字符串$ to_ext待转格式,支持png、gif, jpeg, wbmp, webp xbm   * @param null字符串| $ save_path存储路径,零则返回二进制内容,字符串则返回真|假   * @return布尔|字符串$ save_path是零则返回二进制内容,是字符串则返回真|假   * @throws例外   * @author klinson & lt; klinson@163.com>   */函数transform_image (image_path, to_ext美元=& # 39;png # 39;, $ save_path=null)   {   如果(!in_array (to_ext美元[& # 39;png # 39; & # 39; gif # 39;, & # 39; jpeg # 39;, & # 39; wbmp # 39;, & # 39; webp # 39;, & # 39; xbm& # 39;])) {   抛出新\异常(& # 39;unsupport变换图像& # 39;。美元to_ext);   }   开关(exif_imagetype (image_path美元)){   案例IMAGETYPE_GIF:   (img=imagecreatefromgif美元image_path);   打破;   案例IMAGETYPE_JPEG:   案例IMAGETYPE_JPEG2000:   (img=imagecreatefromjpeg美元image_path);   打破;   案例IMAGETYPE_PNG:   (img=imagecreatefrompng美元image_path);   打破;   案例IMAGETYPE_BMP:   案例IMAGETYPE_WBMP:   (img=imagecreatefromwbmp美元image_path);   打破;   案例IMAGETYPE_XBM:   (img=imagecreatefromxbm美元image_path);   打破;   案例IMAGETYPE_WEBP://(从PHP 7.1.0开始支持)   (img=imagecreatefromwebp美元image_path);   打破;   默认值:   抛出新\异常(& # 39;无效的图像类型# 39;);   }   $函数=& # 39;图像# 39;to_ext美元;   如果(save_path美元){   返回$函数(img, save_path美元);   其他}{   tmp美元=__DIR__ # 39;公司/& # 39;.uniqid() # 39;公司强生# 39;to_ext美元;   如果($函数(img, tmp美元)){   美元$内容=file_get_contents (tmp);   拆开(tmp);   返回$内容;   其他}{   拆开(tmp);   抛出新\异常(& # 39;文件& # 39;。美元tmp强生# 39;不能写# 39;);   }   }   }

使用

//转换后保存在test.png   transform_image ($ url, & # 39; png # 39;, & # 39;。/test.png& # 39;);   transform_image (filepath美元,& # 39;png # 39;, & # 39;。/test.png& # 39;);//转换后二进制结果直接返回   transform_image ($ url, & # 39; png # 39;);   transform_image (filepath美元,& # 39;png # 39;);

看完了这篇文章,相信你对php图片类型的转换方法有了一定的了解,想了解更多相关知识,欢迎关注行业资讯频道,感谢各位的阅读!

php图片类型的转换方法