Voting

: three plus four?
(Example: nine)

The Note You're Voting On

ZeBadger
19 years ago
I have written this code to detect if a gif file is animated or not. I thought I would share it :-)

<?php

function is_ani($filename)
{
$filecontents=file_get_contents($filename);

$str_loc=0;
$count=0;
while (
$count < 2) # There is no point in continuing after we find a 2nd frame
{

$where1=strpos($filecontents,"\x00\x21\xF9\x04",$str_loc);
if (
$where1 === FALSE)
{
break;
}
else
{
$str_loc=$where1+1;
$where2=strpos($filecontents,"\x00\x2C",$str_loc);
if (
$where2 === FALSE)
{
break;
}
else
{
if (
$where1+8 == $where2)
{
$count++;
}
$str_loc=$where2+1;
}
}
}

if (
$count > 1)
{
return(
true);

}
else
{
return(
false);
}
}

exec("ls *gif" ,$allfiles);
foreach (
$allfiles as $thisfile)
{
if (
is_ani($thisfile))
{
echo
"$thisfile is animated<BR>\n";
}
else
{
echo
"$thisfile is NOT animated<BR>\n";
}
}
?>

It could quite easily be modified to count the number of frames if you required.

<< Back to user notes page

To Top