PHP開発中、ファイル拡張機能の取得は、特にファイルのアップロードとファイルタイプの判断を扱う場合、一般的かつ必要な操作です。この記事では、いくつかの一般的に使用されるPHPメソッドを紹介して、ファイル拡張機能を取得し、実際の例を通じて完全なプロセスを実証します。
ファイル拡張子は、ファイル名の最後のドット( "。")の後の部品であり、ファイルのタイプを識別するために使用されます。たとえば、ファイル名「Example.txt」では、拡張機能は「txt」です。拡張機能を使用すると、システムはファイルタイプを識別し、ファイルを開くために使用するプログラムを決定できます。
PHPでは、さまざまな機能を介してファイル拡張機能を簡単に抽出できます。以下は、2つの一般的で実用的な方法です。
pathinfo()関数は、パス情報を含む連想配列を返し、拡張機能を直接取得できます。
$file = 'example.txt';
$ext = pathinfo($file, PATHINFO_EXTENSION);
echo $ext;
実行後、出力は次のとおりです。
strrchr()関数は、文字列内の指定された文字の最後の発生とその後のコンテンツを返します。 substr()と組み合わせると、ドットなしで拡張機能を抽出できます。
$file = 'example.txt';
$ext = strrchr($file, '.');
// 出力 .txt
// ポイント番号を削除します
$ext = substr($ext, 1);
echo $ext;
実行後の出力結果も次のとおりです。
以下は、アップロードされたファイルの拡張機能を取得し、タイプとサイズの確認を実行する方法を示している共通ファイルのアップロードシナリオを示しています。
if (isset($_POST['submit'])) {
$file = $_FILES['file'];
$fileName = $file['name'];
$fileExt = strtolower(end(explode('.', $fileName)));
$fileTmpName = $file['tmp_name'];
$fileSize = $file['size'];
$fileError = $file['error'];
$allowed = array('jpg', 'jpeg', 'png', 'gif');
if (in_array($fileExt, $allowed)) {
if ($fileError === 0) {
if ($fileSize < 1000000) {
$fileNameNew = uniqid('', true) . '.' . $fileExt;
$fileDest = "uploads/" . $fileNameNew;
move_uploaded_file($fileTmpName, $fileDest);
echo "File uploaded successfully!";
} else {
echo "Your file is too big!";
}
} else {
echo "There was an error uploading your file!";
}
} else {
echo "You cannot upload files of this type!";
}
}
このコードは、$ _filesを介してアップロードされたファイル情報を取得し、ファイル拡張子を抽出し、それを小文字に変換して、ファイルタイプが許可されたリストに準拠していることを確認します。ファイルサイズが満たされ、アップロードエラーがない場合、ファイルは指定されたディレクトリに保存され、アップロード結果はフィードバックになります。
この記事では、PHPでファイル拡張機能を取得するためのさまざまな方法を体系的に導入し、ファイルアップロードの例を組み合わせて、開発者がファイル拡張抽出とファイルアップロードの基本プロセスを理解し、マスターするのに役立ちます。これらのスキルを習得すると、PHPファイル処理の効率とセキュリティが効果的に向上します。