Web 開発のプロセスでは、アップロードされるファイルに形式制限を課す必要がある場合があります。つまり、検証に合格するには、指定された種類のファイルのみをアップロードできます。現時点では、PHP 正規表現を使用してファイル拡張子を確認できます。
PHP 正規表現は、文字列の照合と検索を行うための強力なツールです。テキストの一部が特定のルールに従って要件を満たしているかどうかを迅速かつ正確に判断し、さらに処理するのに役立ちます。次に、この記事では、ファイル拡張子を検証するために PHP 正規表現を使用する方法を説明します。
ステップ 1: アップロードされたファイルの拡張子を取得する
アップロードされたファイルの拡張子を確認するには、まずアップロードされたファイルの完全なファイル名を取得する必要があります。 PHP では、$_FILES 変数を通じてファイル情報を取得できます。この変数は 2 次元配列であり、アップロードされたファイルの名前、タイプ、サイズ、一時的な保存場所などの情報を取得できます。
たとえば、$_FILES'file' は、アップロードされたファイルの元のファイル名です。
次に、ファイル拡張子をファイル名から分離する必要があります。ファイル情報(ファイル名、拡張子、パスなど)は、PHP 組み込み関数 pathinfo() を使用して取得できます。この関数は、ファイル パス、ファイル名、ファイル拡張子などの情報を含む連想配列を返します。
たとえば、 $ext = pathinfo($_FILES'file', PATHINFO_EXTENSION); とすると、アップロードされたファイルの拡張子を取得できます。
ステップ 2: 正規表現を使用して、アップロードされたファイルの拡張子を確認する
ファイル拡張子を取得した後、それを検証して、そのファイル拡張子が許可されるファイル タイプであるかどうかを確認する必要があります。 PHP 正規表現を使用して検証する方法は次のとおりです:
$allowExt = '/^(jpg|jpeg|png|gif)$/'; // 允许上传的文件类型 if (preg_match($allowExt, $ext)) { // 扩展名合法,文件类型符合要求 } else { // 扩展名不合法,文件类型不符合要求 }
このうち、preg_match() 関数を使用して、アップロードされたファイルの拡張子を照合し、照合に成功した場合は、そのファイル拡張子が許可されていることを意味します。
上記の正規表現 '/^(jpg|jpeg|png|gif)$/' は、jpg、jpeg、png、gif で終わるすべての文字列に一致します。いずれかの形式に一致する場合、法的なファイル形式になります。 。
正規表現中の「^」は文字列の開始位置を表し、「$」は文字列の終了位置を表すことに注意してください。したがって、上記の正規表現では、ファイル拡張子は jpg、jpeg、png、gif の 4 種類のみに制限されます。
ステップ 3: 完全なファイル アップロード検証コード
上記の 2 つのステップを組み合わせると、完全なファイル アップロード検証コードは次のようになります:
<?php $allowExt = '/^(jpg|jpeg|png|gif)$/'; // 允许上传的文件类型 $ext = pathinfo($_FILES['file']['name'], PATHINFO_EXTENSION); // 获取上传文件的扩展名 if (preg_match($allowExt, $ext)) { // 扩展名合法,文件类型符合要求 echo '文件上传成功!'; // 进行上传操作 } else { // 扩展名不合法,文件类型不符合要求 echo '文件上传失败,文件类型不允许!'; }
アップロード時 ファイル拡張子が一致するとき要件を満たしている場合は、「ファイルのアップロードに成功しました」と出力され、アップロード操作が実行されますが、要件を満たしていない場合は、「ファイルのアップロードに失敗しました。ファイルの種類は許可されていません」が出力されます。
概要
上記は、PHP 正規表現を使用してファイル拡張子を確認する方法です。アップロードされたファイルの拡張子を取得し、正規表現を使用して照合することにより、アップロードされたファイルの種類を効果的に制限でき、Web 開発にとってより安全で効果的な保証が提供されます。
以上がファイル拡張子を確認するための PHP 正規表現方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。