How PHP determines if a GIF image is a dynamic image
Example
The code is as follows |
|
/* * Determine if the picture is a dynamic picture (animation) */ function Isanimatedgif ($filename) { $FP =fopen ($filename, ' RB '); $filecontent =fread ($fp, FileSize ($filename)); Fclose ($FP); Return Strpos ($filecontent, Chr (0x21). chr (0xff). chr (0x0b). NETSCAPE2.0 ') ===false?0:1; } |
Or do it.
Use PHP to determine if a GIF image is animated (multi-frame)
The code is as follows |
|
function Isanimatedgif ($filename) { $fp = fopen ($filename, ' RB '); $filecontent = Fread ($fp, FileSize ($filename)); Fclose ($FP); Return Strpos ($filecontent, Chr (0x21). chr (0xff). chr (0x0b). NETSCAPE2.0 ') = = = False?0:1; } Echo isanimatedgif ("51windows.gif"); ?> |
Example 2
The GIF animation is in gif89 format and the file starts with gif89. But many transparent pictures are also used in the gif89 format,
Google to: You can check whether the file contains: Chr (0x21). chr (0xff). chr (0x0b). NETSCAPE2.0 '
Chr (0x21). Chr (0xff) is the header of the extended function segment in a GIF image, and ' NETSCAPE2.0 ' is the program name that the extended function executes
The program code is as follows:
The code is as follows |
|
function Check ($image) { $content = file_get_contents ($image); if (Preg_match ("/". Chr (0x21). chr (0xff). chr (0x0b). ' NETSCAPE2.0 '. " /", $content)) { return true; }else{ return false; } } if (check ('/home/lyy/luoyinyou/2.gif ')) { Echo ' is really animated '; }else{ Echo ' is not animated '; } ?> |
The test found that reading 1024 bytes is sufficient because the data stream being read exactly contains Chr (0x21). chr (0xff). chr (0x0b). NETSCAPE2.0 '
http://www.bkjia.com/PHPjc/895096.html www.bkjia.com true http://www.bkjia.com/PHPjc/895096.html techarticle PHP How to determine whether a GIF image is a dynamic image example code as follows/* * To determine whether the picture is a dynamic picture (animation) */function Isanimatedgif ($filename) {$fp =fopen ($filenam ...