最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

PHP判斷一個gif圖片是否為動態(tài)圖片的方法

 更新時間:2014年11月19日 09:45:50   投稿:shichen2014  
這篇文章主要介紹了PHP判斷一個gif圖片是否為動態(tài)圖片的方法,涉及針對圖片字節(jié)流中包含數(shù)據(jù)字段的判斷,具有不錯的實用價值,需要的朋友可以參考下

本文實例講述了PHP判斷一個gif圖片是否為動態(tài)圖片的方法。分享給大家供大家參考。具體方法如下:

如何使用PHP來判斷一個gif圖片是否為動態(tài)圖片(動畫)?首先想到的是使用getimagesize()函數(shù)來看type值,發(fā)現(xiàn)都是gif,所以這個辦法是不可行的。下面是作者在網(wǎng)上看到的一個函數(shù),用來判斷gif是否為動圖的。貼出來和大家分享

例子如下:

復(fù)制代碼 代碼如下:
/*
 * 判斷圖片是否為動態(tài)圖片(動畫)
 */
function isAnimatedGif($filename) {
 $fp=fopen($filename,'rb');
 $filecontent=fread($fp,filesize($filename));
 fclose($fp);
 return strpos($filecontent,chr(0x21).chr(0xff).chr(0x0b).'NETSCAPE2.0')===FALSE?0:1;
}

或者這樣做:
用PHP判斷一個gif圖片是不是動畫(多幀)
復(fù)制代碼 代碼如下:
<?php
function IsAnimatedGif($filename)
{
 $fp = fopen($filename, 'rb');
 $filecontent = fread($fp, filesize($filename));
 fclose($fp);
 return strpos($filecontent,chr(0x21).chr(0xff).chr(0x0b).'NETSCAPE2.0') === FALSE?0:1;
}
echo IsAnimatedGif("51windows.gif");
?>

例子2
gif動畫是gif89格式的,發(fā)現(xiàn)文件開頭是gif89。但是很多透明圖片也是用的gif89格式,
GOOGLE到的:可以檢查文件中是否包含:chr(0×21).chr(0xff).chr(0×0b).'NETSCAPE2.0'
chr(0×21).chr(0xff) 是gif圖片中擴展功能段的標(biāo)頭,'NETSCAPE2.0'是擴展功能執(zhí)行的程序名
程序代碼如下:
復(fù)制代碼 代碼如下:
<?php
function 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'不是動畫';
}
?>

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

希望本文所述對大家的PHP程序設(shè)計有所幫助。

相關(guān)文章

  • php cout&lt;&lt;的一點看法

    php cout&lt;&lt;的一點看法

    cout<<運算符后面如果是常整數(shù),那么最大可以輸出4294967295,即2^32-1,不允許出現(xiàn)負(fù)數(shù),也就是說,cout<<運算符對于常整數(shù)只重載了unsigned int型;對于有小數(shù)的情況,則保留6位有效數(shù)字.
    2010-01-01
  • PHP使用PDO調(diào)用mssql存儲過程的方法示例

    PHP使用PDO調(diào)用mssql存儲過程的方法示例

    這篇文章主要介紹了PHP使用PDO調(diào)用mssql存儲過程的方法,結(jié)合簡單實例形式分析了php基于pdo簡單實現(xiàn)連接及調(diào)用存儲過程相關(guān)操作技巧,需要的朋友可以參考下
    2017-10-10
  • php 更新數(shù)據(jù)庫中斷的解決方法

    php 更新數(shù)據(jù)庫中斷的解決方法

    使用PHP程序更新數(shù)據(jù)庫,總是到160000條時中斷, 查看LOG,顯示超過PHP最大執(zhí)行時間的錯誤, 只需要在PHP腳本中加入如下語句
    2009-06-06
  • php使用PDO執(zhí)行SQL語句的方法分析

    php使用PDO執(zhí)行SQL語句的方法分析

    這篇文章主要介紹了php使用PDO執(zhí)行SQL語句的方法,結(jié)合實例形式分析了PDO常用SQL函數(shù)功能及使用技巧,需要的朋友可以參考下
    2017-02-02
  • mayfish 數(shù)據(jù)入庫驗證代碼

    mayfish 數(shù)據(jù)入庫驗證代碼

    mayfish 可以靈活的自定義將要執(zhí)行寫入的數(shù)據(jù)內(nèi)容的校驗規(guī)則,以減少開發(fā)人員手動對每一個字段的數(shù)據(jù)進行校驗的麻煩。
    2010-04-04
  • php模板函數(shù) 正則實現(xiàn)代碼

    php模板函數(shù) 正則實現(xiàn)代碼

    有些空閑,就弄了下template函數(shù),比較粗糙。主要是利用正則表達式,把模板文件(html文件)轉(zhuǎn)換成php文件,從而實現(xiàn)前后臺分離,即是所謂的mvc思想了
    2012-10-10
  • php + ajax 實現(xiàn)的寫入數(shù)據(jù)庫操作簡單示例

    php + ajax 實現(xiàn)的寫入數(shù)據(jù)庫操作簡單示例

    這篇文章主要介紹了php + ajax 實現(xiàn)的寫入數(shù)據(jù)庫操作,結(jié)合實例形式分析了php + ajax 寫入數(shù)據(jù)庫基本原理、操作技巧與相關(guān)使用注意事項,需要的朋友可以參考下
    2020-05-05
  • php中注冊器模式類用法實例分析

    php中注冊器模式類用法實例分析

    這篇文章主要介紹了php中注冊器模式類用法,以實例形式分析了注冊器讀寫類的相關(guān)使用技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-11-11
  • PHP測試成功的郵件發(fā)送案例

    PHP測試成功的郵件發(fā)送案例

    這篇文章主要介紹了一個測試成功的PHP郵件發(fā)送案例,需要的朋友可以參考下
    2015-10-10
  • phpstudy?apache開啟ssi使用詳解

    phpstudy?apache開啟ssi使用詳解

    SSI具有強大的功能,只要使用一條簡單的SSI?命令就可以實現(xiàn)整個網(wǎng)站的內(nèi)容更新,時間和日期的動態(tài)顯示,以及執(zhí)行shell和CGI腳本程序等復(fù)雜的功能。在Apache服務(wù)器下,可以通過直接編輯服務(wù)器配置文件或者在需要使用SSI的目錄中創(chuàng)建.htaccess文件來啟動SSI。
    2022-12-12

最新評論

伊春市| 清水河县| 石首市| 台州市| 张北县| 册亨县| 泾阳县| 余江县| 临高县| 都安| 长葛市| 台安县| 咸阳市| 巩义市| 南川市| 买车| 稷山县| 五峰| 二手房| 紫阳县| 敦煌市| 唐海县| 湟中县| 康定县| 青川县| 临安市| 嫩江县| 江孜县| 临湘市| 奈曼旗| 都兰县| 庆云县| 江都市| 西吉县| 会泽县| 曲阜市| 巴彦县| 柯坪县| 巴林右旗| 玛曲县| 遂川县|