gif 画像が動的画像であるかどうかを判断する PHP メソッド、_PHP チュートリアル
PHP で GIF 画像が動的画像かどうかを判断する方法、
この記事の例では、PHP が gif 画像が動的画像であるかどうかを判断する方法について説明します。参考のためにみんなで共有してください。具体的な方法は以下の通りです
PHP を使用して gif 画像が動的画像 (アニメーション) であるかどうかを判断するにはどうすればよいでしょうか? 最初に思い浮かぶのは、getimagesize() 関数を使用して type 値を調べ、それらがすべて gif であることを確認することです。という方法は実現不可能です。以下は筆者がインターネットで見かけた、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 画像がアニメーション化されているかどうか (複数のフレーム) を判断します
{
$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」は拡張機能を実行するプログラムの名前です
プログラムコードは以下の通りです
$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 バイトの読み取りで十分であることがわかりました。
この記事で説明した内容が皆様の PHP プログラミング設計に役立つことを願っています。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP へのログインは非常に簡単な作業です。使用する関数は 1 つだけです。 cronjob などのバックグラウンド プロセスのエラー、例外、ユーザー アクティビティ、ユーザーが実行したアクションをログに記録できます。 CakePHP でのデータのログ記録は簡単です。 log()関数が提供されています

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

CakePHP はオープンソースの MVC フレームワークです。これにより、アプリケーションの開発、展開、保守がはるかに簡単になります。 CakePHP には、最も一般的なタスクの過負荷を軽減するためのライブラリが多数あります。
