現在の位置: ホーム> 最新記事一覧> PHPチュートリアル:ファイル拡張子を効率的に取得し、ファイルをアップロードする方法例分析

PHPチュートリアル:ファイル拡張子を効率的に取得し、ファイルをアップロードする方法例分析

gitbox 2025-06-27

PHPでファイル拡張子を取得することの重要性

PHP開発中、ファイル拡張機能の取得は、特にファイルのアップロードとファイルタイプの判断を扱う場合、一般的かつ必要な操作です。この記事では、いくつかの一般的に使用されるPHPメソッドを紹介して、ファイル拡張機能を取得し、実際の例を通じて完全なプロセスを実証します。

ファイル拡張機能の基本概念

ファイル拡張子は、ファイル名の最後のドット( "。")の後の部品であり、ファイルのタイプを識別するために使用されます。たとえば、ファイル名「Example.txt」では、拡張機能は「txt」です。拡張機能を使用すると、システムはファイルタイプを識別し、ファイルを開くために使用するプログラムを決定できます。

PHPのファイル拡張子を取得する一般的な方法

PHPでは、さまざまな機能を介してファイル拡張機能を簡単に抽出できます。以下は、2つの一般的で実用的な方法です。

pathinfo()関数を使用します

pathinfo()関数は、パス情報を含む連想配列を返し、拡張機能を直接取得できます。

 $file = 'example.txt';
$ext = pathinfo($file, PATHINFO_EXTENSION);
echo $ext;

実行後、出力は次のとおりです。

strrchr()関数を使用します

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ファイル処理の効率とセキュリティが効果的に向上します。