介绍
小编给大家分享一下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图片类型的转换方法