我们相信:世界是美好的,你是我也是。平行空间的世界里面, 不同版本的生活 也在继续...

webp 是近几年最新流行的图片格式,目前百度图片已经全面使用 webp 格式。所以,这里苏南大叔也进行了一些尝试,看看 webp 是否适合替换目前的博客 png 图片呢? php 如何生成 webp 格式图片呢?如何把现有的 png 图片转换成 webp 格式呢?

苏南大叔:php如何生成webp图片?如何进行webp图片格式转化? - php-webp-hero
php如何生成webp图片?如何进行webp图片格式转化?(图6-1)

大家好,这里是苏南大叔的程序如此灵动博客,这里记录苏南大叔和计算机代码的故事。本文记录使用 php 生成 webp 格式图片的经验。本文测试环境: [email protected] [email protected] [email protected]

判断系统环境

本文的测试环境是:宝塔面板自带的 [email protected] phpinfo() 显示如下:

苏南大叔:php如何生成webp图片?如何进行webp图片格式转化? - phpinfo
php如何生成webp图片?如何进行webp图片格式转化?(图6-2)

如果您的没有显示 webp enabled 之类的字样的话,请重新编译 php 或者 gd.so 文件。

  • php73 及以前版本的编译参考选项是 --with-webp-dir
  • php74 的编译参考选项是 --with-webp

最简单代码

直接显示 webp 图片:

$img_path = dirname(__FILE__).DIRECTORY_SEPARATOR."png.png";
$im = @imagecreatefrompng($img_path);
header('Content-type:image/webp');
imagewebp($im, null, 100);
imagedestroy($im);

进行格式转化,并保存文件:

$img_path = dirname(__FILE__).DIRECTORY_SEPARATOR."png.png";
$img_path2 = dirname(__FILE__).DIRECTORY_SEPARATOR."test.webp";