Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何检测*.ico文件是否是PHP中的有效图标_Php_Icons_Ico - Fatal编程技术网

如何检测*.ico文件是否是PHP中的有效图标

如何检测*.ico文件是否是PHP中的有效图标,php,icons,ico,Php,Icons,Ico,我想测试*.ico图像在PHP中是否有效。我尝试使用getimagesize函数,但它不支持ICO文件。ICO文件主要是图像文件,如果您将jpeg或gif/png更改为ICO扩展名,它可以正常工作,因此如果您保持图像类型检查,它将正常工作ICO文件主要是图像文件,如果您将jpeg或gif/png更改为ICO扩展名,它可以正常工作,因此,如果您保持图像类型检查,它将完成这项工作 图标必须以“0x00 0x00 0x01 0x00”字节开头,对于简单的测试就足够了。 图标必须以“0x00 0x00

我想测试*.ico图像在PHP中是否有效。我尝试使用getimagesize函数,但它不支持ICO文件。

ICO文件主要是图像文件,如果您将jpeg或gif/png更改为ICO扩展名,它可以正常工作,因此如果您保持图像类型检查,它将正常工作

ICO文件主要是图像文件,如果您将jpeg或gif/png更改为ICO扩展名,它可以正常工作,因此,如果您保持图像类型检查,它将完成这项工作

图标必须以“0x00 0x00 0x01 0x00”字节开头,对于简单的测试就足够了。

图标必须以“0x00 0x00 0x01 0x00”字节开头,对于简单的测试来说已经足够了。

检查这里:getfiletype方法检查这里:getfiletype方法是一个可用于读取.ico文件的composer安装包。要检查和检查.ico文件,可以调整此示例:

$loader = new Elphin\IcoFileLoader\IcoFileService;

//parse ico file
try {
    $icon = $loader->fromFile('/path/to/icon.ico');

    //we can iterate over the images in the icon
    foreach ($icon as $idx => $image) {
        printf("image %d is %s\n", $idx, $image->getDescription());
    }
}
catch (\Exception $e) {
     echo "not a valid .ico file";
}
是用于读取.ico文件的composer可安装包。要检查和检查.ico文件,可以调整此示例:

$loader = new Elphin\IcoFileLoader\IcoFileService;

//parse ico file
try {
    $icon = $loader->fromFile('/path/to/icon.ico');

    //we can iterate over the images in the icon
    foreach ($icon as $idx => $image) {
        printf("image %d is %s\n", $idx, $image->getDescription());
    }
}
catch (\Exception $e) {
     echo "not a valid .ico file";
}

用你的术语来说,什么是有效的图标?我需要检查它们,因为我用CURL从网上下载了一些,它们有时是404页。所以HTML文件而不是真实的图像。用你的术语来说,什么是有效的图标?我需要检查它们,因为我用CURL从网上下载了一些,它们有时是404页。所以HTML文件而不是真正的图像。或者你可以检查mime类型,它是“image/x-icon”,这不是我想要的,我需要检查它们,因为我用CURL从网上下载了一些,它们有时是404页。我没有得到你,我假设你从网上下载了ico,其中一些已经损坏,但仍然显示为ico文件,在这种情况下,检查mime类型的“image/x-icon”检查mime类型是绝对不可靠的,我一开始就是这样,但过了一段时间,我注意到有数百个favicon用作text/html。检查没有用。或者你可以检查mime类型,它是“image/x-icon”,这不是我想要的,我需要检查它们,因为我用CURL从网上下载了一些,有时是404页。我没有收到你,我假设你从网上下载了ico,其中一些已经损坏,但仍然显示为ico文件,在这种情况下,检查mime类型的“image/x-icon”检查mime类型是绝对不可靠的,我一开始就是这样,但过了一段时间,我注意到有数百个favicon用作text/html。没用检查。