【问题标题】:PHP detect if file is webp imagePHP检测文件是否为webp图像
【发布时间】:2015-07-15 00:12:38
【问题描述】:

我正在尝试检查文件是否是 PHP 中的 webp 图像

if (false != imagecreatefromwebp($filename)) {
            //do something
        }

但我收到以下错误

Warning: imagecreatefromwebp(): 'test.webp' is not a valid WEBP file

相同的文件可以使用在线转换成功地转换为jpg,并且 我还可以从字节中看到该文件实际上是一个webp

RIFF�5WEBPVP8X....

【问题讨论】:

  • 也许贴一个链接,这样人们可以为你检查......

标签: php gd webp


【解决方案1】:

PHP manual : exif_imagetype

<?php

if (exif_imagetype($filename) === IMAGETYPE_WEBP) {
    echo 'The picture is webp!';
}

?>

【讨论】:

    【解决方案2】:

    请试试这个:

    $finfo = new finfo(FILEINFO_MIME); echo $finfo->buffer($filename);

    【讨论】:

      【解决方案3】:

      GD 库会抛出很多警告,即使它不应该这样做。在这种特殊情况下,我会在 imagecreatefromwebp() 前面使用 @ 运算符

      <?php
      $img = @imagecreatefromwebp($filename);
      var_dump($img);
      

      现在它将在成功时返回图像资源标识符,在错误时返回布尔值 false。

      【讨论】:

        猜你喜欢
        • 2018-02-12
        • 2019-12-13
        • 2014-11-25
        • 2011-02-03
        • 2016-07-27
        • 1970-01-01
        • 2011-01-12
        • 2013-03-02
        • 2012-03-27
        相关资源
        最近更新 更多