色尼玛亚洲综合影院,亚洲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圖片是否為動畫的方法,轉載需保留來源!

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

主站蜘蛛池模板: 孝感市| 和林格尔县| 遂溪县| 平山县| 云龙县| 平湖市| 长乐市| 白朗县| 南和县| 平山县| 盐津县| 衡阳市| 讷河市| 柳州市| 栖霞市| 平乡县| 临夏县| 文山县| 读书| 汉中市| 北安市| 南雄市| 裕民县| 昂仁县| 青铜峡市| 灵宝市| 盱眙县| 武胜县| 惠水县| 和政县| 夏河县| 连平县| 静安区| 绍兴市| 佛学| 建宁县| 英超| 冀州市| 黎川县| 湘阴县| 通城县|