ホームページ バックエンド開発 PHPの問題 PHPで配列の内容が画像かどうかを判断する方法

PHPで配列の内容が画像かどうかを判断する方法

Apr 18, 2023 pm 03:21 PM

Web サイト開発のプロセスでは、ユーザーがアップロードしたファイルの種類が要件を満たしているかどうか、特に配列内のファイルが画像形式であるかどうかを確認する必要があることがよくあります。 PHP では、配列の内容が画像であるかどうかを判断する方法がいくつかあります。

1. 画像タイプ判定を使用する

PHP には、画像を処理するために使用できる image と呼ばれる組み込みデータ型があります。画像タイプを使用して、配列の内容が画像形式であるかどうかを判断できます。コードは次のとおりです。

$isImage = getimagesize($file['tmp_name']);

if($isImage === false) {
   echo "所选文件不是图片格式!";
} else {
   echo "所选文件是图片格式!";
}
ログイン後にコピー

getimagesize() この関数は、ファイルの種類やサイズなど、指定されたファイルの情報を取得できます。取得した情報が偽の場合は、選択したファイルが画像形式ではないことを意味します。

2. ファイル タイプの判断を使用する

PHP では、各ファイル タイプに対応する MIME タイプがあり、ファイル タイプを識別するために使用されます。ファイルの MIME タイプを判断することで、配列の内容が画像形式であるかどうかを判断できます。コードは次のとおりです。

$allowedTypes = ['image/png', 'image/jpg', 'image/jpeg', 'image/gif'];
$fileType = mime_content_type($file['tmp_name']);

if(!in_array($fileType, $allowedTypes)) {
   echo "所选文件不是图片格式!";
} else {
   echo "所选文件是图片格式!";
}
ログイン後にコピー

まず、許可される MIME タイプの配列を定義し、次に mime_content_type() 関数を使用してファイルの MIME タイプを取得し、それが MIME タイプであるかどうかを判断します。は、許可された MIME タイプ配列の中央にあります。

3. 拡張子を使用して判断する

ファイル拡張子を判断することで画像形式であるかどうかを判断することもできますが、ファイル拡張子は簡単に変更できるため、この方法は信頼できません。セキュリティ要件がある場合、この方法はお勧めできません。コードは次のとおりです。

$allowedExtensions = ['png', 'jpg', 'jpeg', 'gif'];
$extension = pathinfo($file['name'], PATHINFO_EXTENSION);

if(!in_array($extension, $allowedExtensions)) {
   echo "所选文件不是图片格式!";
} else {
   echo "所选文件是图片格式!";
}
ログイン後にコピー

まず、許可される拡張子の配列を定義し、次に pathinfo() 関数を使用してファイルの拡張子を取得し、それがファイル内にあるかどうかを判断します。許可される拡張配列の中央。

要約すると、配列の内容が画像形式であるかどうかを判断するには、画像タイプ、ファイル タイプ、拡張子の 3 つの方法を使用できます。このうち、画像タイプとファイルタイプを使用する方法は信頼できる方法ですが、拡張子の使用は十分に安全ではありません。実際のニーズに応じて適切な方法を選択してください。

以上がPHPで配列の内容が画像かどうかを判断する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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