検索
ホームページ毎日のプログラミングPHPの知識PHPファイルのアップロード方法と情報解析を詳しく解説【動画付き】

この記事では主にPHPファイルのアップロード方法とその情報分析について詳しく紹介します。

PHP を使用してファイルアップロード機能を実装することは、PHP プロジェクト開発では比較的一般的ですが、一部の初心者にとっては難しいかもしれません。以下では、具体的なコード例を通して詳しく説明します。

最初にファイルアップロード用のHTMLフォームを作成します

コード例は次のとおりです:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<form action="upload.php" method="post" enctype="multipart/form-data">
 选择文件进行上传: <input type="file" name="file">
    <input type="submit" value="上传">
</form>
</body>
</html>

効果は次のようになります:

PHPファイルのアップロード方法と情報解析を詳しく解説【動画付き】

上記のコードでは、ファイルタイプを設定します。入力ボタンには、アップロードしたファイルの名前も file に設定されます。ファイルまたは画像をクリックして選択すると、フォーム データが Upload.php に送信され、アップロードされたファイルに対して関連する操作が実行されます。

次に、upload.phpファイルで、アップロードされたファイルの関連情報を解析するメソッドを定義します

具体的なコード例は次のとおりです:

<?php
$fileInfo = $_FILES[&#39;file&#39;];
var_dump($_FILES[&#39;file&#39;]);

function upload_file($fileInfo, $upload = "./upload", $imagesExt = [&#39;gif&#39;, &#39;png&#39;, &#39;jpg&#39;])
{
    if ($fileInfo[&#39;error&#39;] === 0) {
        $ext = strtolower(pathinfo($fileInfo[&#39;name&#39;], PATHINFO_EXTENSION));
        if (!in_array($ext, $imagesExt)) {
            return "文件非法类型";
        }
        if (!is_dir($upload)) {
            mkdir($upload, 0777, true);
        }
        $fileName = md5(uniqid(microtime(true), true)) . "." . $ext;
        $destName = $upload . "/" . $fileName;
        if (!move_uploaded_file($fileInfo[&#39;tmp_name&#39;], $destName)) {
            return "文件上传失败!";
        }
        return "文件上传成功!";
    } else {
        switch ($fileInfo[&#39;error&#39;]) {
            case 1:
                echo &#39;上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值&#39;;
                break;
            case 2:
                echo &#39;上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值&#39;;
                break;
            case 3:
                echo &#39;文件只有部分被上传&#39;;
                break;
            case 4:
                echo &#39;没有文件被上传&#39;;
                break;
            case 6:
                echo &#39;找不到临时文件夹&#39;;
                break;
            case 7:
                echo &#39;文件写入失败&#39;;
                break;
        }
    }
}
var_dump(upload_file($fileInfo));

上記のPHPコードでは、変数$fileInfoが使用されます。フォームフォームからアップロードされたデータは、var_dump 関数を使用してアップロードされたファイル file の情報を出力し、配列で表示するために使用されるように定義されています。

ファイルを判断する方法がない場合、ブラウザ経由で直接アクセスした場合の影響は次のとおりです:

PHPファイルのアップロード方法と情報解析を詳しく解説【動画付き】

ヒント: error はエラー メッセージの説明を表し、ここでのエラー番号は 0 です。アップロードされたファイルにエラーがないことを意味します。ただし、PHP マニュアルでは、エラー番号は 0 より大きくなっています。

以下は、エラーエラー番号を表形式で簡単にまとめたものです

値は0です
値は1です 値は2です 値は3です 値は4 値は 6 です 値は 7 です
エラーは発生せず、ファイルは正常にアップロードされました。 アップロードされたファイルがphp.iniのupload_max_filesizeオプションの値を超えています。 アップロードされたファイルのサイズが、HTML フォームの MAX_FILE_SIZE オプションで指定された値を超えています。 ファイルの一部のみがアップロードされています。 ファイルはアップロードされていません 一時フォルダーが見つかりません。 PHP 4.3.10 および PHP 5.0.3 で導入されました。 ファイルの書き込みに失敗しました。 PHP 5.1.0で導入されました。

したがって、エラーエラー番号に関する関連知識を理解した後、アップロードされたファイルに対して複数の判断を行うための PHP アップロードメソッドを設計できます。上記のコードでは、メソッドを判断するための具体的なコードが詳細に記述されています。まず、upload_file() メソッドを定義しました。このメソッドには、それぞれファイルのアップロード情報、ディレクトリ、ファイルの種類を決定するための配列を表す 3 つのパラメータが与えられています。 。

その後、if elseとswitchの判定文を使用して、アップロードされたファイルを1つずつ判定します。

ここでの方法は、ファイルの種類、アップロードフォルダーの有無、エラーメッセージに基づいています。

最後に、画像をアップロードした後、表示される最終効果は次のとおりです:

PHPファイルのアップロード方法と情報解析を詳しく解説【動画付き】

注: 上記のコードの md5() 関数は暗号化ではなく、エンコードに使用されます。

上記の記事は、PHP ファイルをアップロードする具体的な方法について説明したもので、困っている友人に役立つことを願っています。対応するビデオチュートリアルは、参考と勉強のために[PHPファイルアップロード情報の分析とカプセル化アップロード方法]です!

以上が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衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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

ホットツール

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール