본문 바로가기

파일이 GIF애니메이션인지 확인

MintState 2018년 4월 5일 오후 3:03 조회 8139

파일이 GIF애니메이션인지 확인

출처 : http://php.net/manual/en/function.imagecreatefromgif.php#104473

function is_gif_ani($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) (some variants may use \x00\x21 ?)
	
	// 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|\x21)#s', $chunk, $matches);
	}
	
	fclose($fh);
	return $count > 1;
}
공유 X Facebook LINE QR 코드

댓글 0개

첫 댓글을 남겨보세요.