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

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

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

首先,gif動畫是gif89格式的,發(fā)現(xiàn)文件開頭是gif89。但是很多透明圖片也是用的gif89格式,

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

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

程序代碼如下:

<?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'不是動畫';}?>

這段代碼還是可以再優(yōu)化的:

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

程序可改寫如下:

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;}

測試發(fā)現(xiàn),讀取1024字節(jié)足夠了,因為此時讀取的數(shù)據(jù)流中正好包含了 chr(0×21).chr(0xff).chr(0×0b).'NETSCAPE2.0'

php技術(shù)php判斷GIF圖片是否為動畫的方法,轉(zhuǎn)載需保留來源!

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

主站蜘蛛池模板: 东城区| 内乡县| 定南县| 项城市| 沛县| 临潭县| 娄烦县| 萨迦县| 榆中县| 汕头市| 永平县| 富宁县| 即墨市| 罗甸县| 蚌埠市| 抚顺市| 夏津县| 东阿县| 潜江市| 饶平县| 肥西县| 清徐县| 长葛市| 南郑县| 沂水县| 江达县| 尤溪县| 郸城县| 五原县| 永州市| 黑龙江省| 宁都县| 中西区| 文山县| 宿州市| 会昌县| 赣州市| 通城县| 延寿县| 临武县| 黎平县|