我有一个ios和android应用程序。有时用户将webP图像上传到我的服务器。问题是ios从我的服务器下载后无法显示此图片。
所以我想查看我的PHP代码。如果图像是webP格式。然后我将它转换为png格式。
我怎么能用PHP做到这一点?
答案 0 :(得分:10)
已经很晚了,但仅仅是为了它。它只能使用PHP完成。没有任何外部工具。
引自PHP.net documentation:
<?php
// Load the WebP file
$im = imagecreatefromwebp('./example.webp');
// Convert it to a jpeg file with 100% quality
imagejpeg($im, './example.jpeg', 100);
imagedestroy($im);
?>
所以我假设您可以使用imagepng()
而不是示例中的imagejpeg。
答案 1 :(得分:3)
使用libwebp
(我假设$file
是绝对路径并且已安装libwebp
)
$regex="/^(.*)(\.webp)$/";
if(preg_match($regex, $file)){
$out=preg_replace($regex, "${1}.png", $file);
exec("dwebp $file -o $out");
}
没有测试,但应该工作......