本文介绍了一种判断GIF图片是否为动态图片的方法,供大家参考,具体方法如下:

如何使用PHP来判断一个GIF图片是一个动态的图片(动画)是认为使用getimagesize()函数的第一件事就是看型价值发现GIF,所以这种方法是不可行的。以下是一个功能,笔者认为在互联网上,这是用来判断无论是GIF动态图,贴出来与大家一起分享

例子如下:

将代码复制如下:

*确定图片是否是动态图片(动画)。

* /

功能isanimatedgif($文件名){

$ FP = fopen($文件名,'rb);

filecontent美元= fread($ FP,文件大小($文件名));

Fclose($ FP);

返回strpos($ filecontent,CHR(0x21)。Chr(0xFF)。Chr(0x0b)。'netscape2.0)= = = false0:1;

}

或者这样做:

使用PHP判断GIF图片是否是动画(多帧)

复制代码代码如下:< PHP

功能isanimatedgif($文件名)

{

$ FP = fopen($文件名,'rb);

filecontent美元= fread($ FP,文件大小($文件名));

Fclose($ FP);

返回strpos($ filecontent,CHR(0x21)。Chr(0xFF)。Chr(0x0b)。'netscape2.0= false0:1);

}

Echo IsAnimatedGif(51windows。gif);

>

例2

GIF动画是在gif89的格式和文件的开头是gif89。但许多透明的照片也用在gif89的格式。

美女:你可以检查文件是否包含:Chr(0×21)。Chr(0xFF)。Chr(0×0B)'netscape2.0。

CHR(0×21)。Chr(0xFF)是扩展功能段的GIF图片的标题,and'netscape2.0'is的功能扩展程序名称。

程序代码如下所示:

复制代码代码如下:< PHP

函数检查($ Image){

$content = file_get_contents($图像);

如果( / ( / ( / 。Chr(0x21)。Chr(0xFF)。Chr(0x0b)'netscape2.0。

返回true;

其他{ }

返回false;

}

}

如果(检查( / / /我的家luoyinyou / 2。gif)){

真的echo'is动画;

其他{ }

echo'is不是动画;

}

>

测试发现,读取1024字节足以因为读数据流包括CHR(0×21)。Chr(0xFF)。Chr(0×0B)。'netscape2.0'in此时读数据流。

希望本文能对大家的PHP程序设计有所帮助。