Skip to content

Instantly share code, notes, and snippets.

@NumEricR
Created April 18, 2013 17:40
Show Gist options
  • Save NumEricR/5414690 to your computer and use it in GitHub Desktop.
Save NumEricR/5414690 to your computer and use it in GitHub Desktop.
A function to know if a given image is animated
// See http://stackoverflow.com/a/415942
function is_animated_image($filename) {
if (!($fh = @fopen($filename, 'rb'))) {
return false;
}
$count = 0;
// an animated gif contains multiple "frames", with each frame having a
// header made up of:
// * a static 4-byte sequence (\x00\x21\xF9\x04)
// * 4 variable bytes
// * a static 2-byte sequence (\x00\x2C)
// We read through the file til we reach the end of the file, or we've found
// at least 2 frame headers
while (!feof($fh) && $count < 2) {
$chunk = fread($fh, 1024 * 100); //read 100kb at a time
$count += preg_match_all('#\x00\x21\xF9\x04.{4}\x00\x2C#s', $chunk, $matches);
}
fclose($fh);
return $count > 1;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment