色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

php判斷GIF圖片是否為動畫的方法

本文介紹了php判斷GIF圖片是動畫的方法,具體步驟如下:

首先,gif動畫是gif89格式的,發現文件開頭是gif89。但是很多透明圖片也是用的gif89格式,

GOOGLE到的:可以檢查文件中是否包含:chr(0×21).chr(0xff).chr(0×0b).'NETSCAPE2.0'

chr(0×21).chr(0xff) 是gif圖片中擴展功能段的標頭,'NETSCAPE2.0'是擴展功能執行的程序名

程序代碼如下:

<?phpfunction 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'真是動畫';}else{echo'不是動畫';}?>

這段代碼還是可以再優化的:

因為實際上 chr(0×21).chr(0xff).chr(0×0b).'NETSCAPE2.0' 只在文件頭部出現,可以 echo 來看看 ,但不是最頭部,是在頭部的某一個位置,所以,嚴格來說需要讀取一部分文件,但不用全部,這樣可以加快速度和節省內存。

程序可改寫如下:

function check_animation($image_file){$fp = fopen($image_file, 'rb');$image_head = fread($fp,1024);fclose($fp);return preg_match("/".chr(0x21).chr(0xff).chr(0x0b).'NETSCAPE2.0'."/",$image_head) ? true : false;}

測試發現,讀取1024字節足夠了,因為此時讀取的數據流中正好包含了 chr(0×21).chr(0xff).chr(0×0b).'NETSCAPE2.0'

php技術php判斷GIF圖片是否為動畫的方法,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 开封县| 江油市| 策勒县| 双江| 武陟县| 大洼县| 双峰县| 大足县| 神木县| 靖边县| 新野县| 漾濞| 岗巴县| 昆山市| 图木舒克市| 开封市| 日喀则市| 高雄县| 丰镇市| 唐河县| 石城县| 大新县| 兰考县| 蛟河市| 门头沟区| 汪清县| 曲周县| 平山县| 通海县| 滁州市| 孝义市| 白河县| 西乌珠穆沁旗| 邯郸县| 宿迁市| 蚌埠市| 岐山县| 水富县| 申扎县| 吉木萨尔县| 泰宁县|