ホームページ > バックエンド開発 > PHPチュートリアル > $_FILES を使用して PHP でファイルのアップロードの問題を解決する方法?

$_FILES を使用して PHP でファイルのアップロードの問題を解決する方法?

Linda Hamilton
リリース: 2024-11-29 22:36:10
オリジナル
637 人が閲覧しました

How to Solve File Upload Issues in PHP Using $_FILES?

PHP を使用したファイルのアップロード

このガイドでは、PHP でファイルをアップロードする方法を示し、以前のアプローチで発生した一般的なエラーに対処します。

問題:

試行時指定したフォルダーにファイルをアップロードすると、非推奨の HTTP_POST_FILES 変数の使用によりエラーが発生します。

解決策:

次の PHP コードは、最新化された、ファイルの更新されたソリューションアップロード:

$target_dir = "upload/";
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
$imageFileType = strtolower(pathinfo($target_file, PATHINFO_EXTENSION));
$allowedTypes = ['jpg', 'png'];

if (isset($_POST["submit"])) {
    // Check file type
    if (!in_array($imageFileType, $allowedTypes)) {
        $msg = "Type is not allowed";
    }
    // Check if file already exists
    elseif (file_exists($target_file)) {
        $msg = "Sorry, file already exists.";
    }
    // Check file size
    elseif ($_FILES["fileToUpload"]["size"] > 5000000) {
        $msg = "Sorry, your file is too large.";
    }
    elseif (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
        $msg = "The file " . basename($_FILES["fileToUpload"]["name"]) . " has been uploaded.";
    }
}
ログイン後にコピー

説明:

  • $_FILES["fileToUpload"] は、ファイルのアップロード情報を取得します。
  • $target_dir は指定します。宛先フォルダー。
  • 条件ステートメントはファイルの種類をチェックします。
  • move_uploaded_file() は、ファイルを指定された場所に移動します。
  • $msg 変数は、アップロード ステータスに基づいてメッセージを保存します。

アップロード用の HTML コード:

<form action="upload.php" method="post">
ログイン後にコピー

これを使用するコードを更新すると、ファイルを目的のフォルダーに正常にアップロードし、検証エラーを適切に処理できるようになります。

以上が$_FILES を使用して PHP でファイルのアップロードの問題を解決する方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート