ホームページ > バックエンド開発 > PHPチュートリアル > PHP_PHP チュートリアルで GIF 画像が動的画像かどうかを判断する方法

PHP_PHP チュートリアルで GIF 画像が動的画像かどうかを判断する方法

WBOY
リリース: 2016-07-13 10:17:06
オリジナル
865 人が閲覧しました

PHP は GIF 画像が動的画像かどうかをどのように判断しますか

コードは次のとおりです

/*
* 写真が動的な写真(アニメーション)かどうかを判断します
*/
関数 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 画像がアニメーション化されているかどうか (複数のフレーム) を判断します

コードは次のとおりです
関数 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形式であり、ファイルの先頭がgif89であることがわかります。ただし、多くの透明な画像でも gif89 形式が使用されています
GOOGLE: ファイルに chr(0×21).chr(0xff).chr(0×0b).'NETSCAPE2.0' が含まれているかどうかを確認できます
chr(0×21).chr(0xff)はgif画像の拡張機能部分のヘッダー、「NETSCAPE2.0」は拡張機能を実行するプログラムの名前です
プログラムコードは次のとおりです:

コードは次のとおりです

機能チェック($image){
$content= file_get_contents($image);
if(preg_match("/".chr(0x21).chr(0xff).chr(0x0b).'NETSCAPE2.0'."/",$content)){
true を返します;
}その他{
false を返します;
}
}
if(check('/home/lyy/luoyinyou/2.gif')){
echo「本当にアニメーションしていますね」;
}その他{
echo「アニメーションではありません」;
}
?>

この時点で読み取られたデータ ストリームには chr(0×21).chr(0xff).chr(0×0b).'NETSCAPE2.0' が含まれているため、テストでは 1024 バイトの読み取りで十分であることがわかりました

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/895096.html技術記事 PHP は gif 画像が動的画像であるかどうかをどのように判断するのでしょうか? コード例は次のとおりです。 /* * 画像がアニメーション画像 (アニメーション) であるかどうかを判断します */ function isAnimatedGif($filename) { $fp=fopen($filenam. ..
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート