php_PHPチュートリアルでのファイルのアップロードの詳細な説明
Jul 13, 2016 pm 05:53 PM
ファイルのアップロード機能は、HTML ページと PHP 処理部分の 2 つの部分で構成されます。 HTML ページでは主に、ユーザーがアップロードするファイルを選択でき、PHP 部分ではサーバー上の指定されたディレクトリにファイルを保存できます。
1つ。 HTML部分
アップロード.html
[html]
<html>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
</頭>
デモをアップロード:
<form action="upload.php" method="post" enctype="multipart/form-data">
<input type="file" name="img" />
<input type="submit" name="submit" value="Upload" />
</本文>
</html>
説明:
1. Input タグ内の Type="file" は、入力がファイルとして処理されることを示します。
2.Enctype は、このフォームを送信するときに使用するコンテンツ タイプを指定します。ファイルコンテンツなど、フォームにバイナリデータが必要な場合、ファイルをアップロードする場合は、この属性が必要です。
enctype の詳細については、「HTML <form> タグの enctype 属性」を参照してください
2つ。 PHPの部分
アップロード.php
[php]
<?php
$DST_DIR = '/データ/アップロード/';
if ($_FILES['img']['name'] != '') {
If ($_FILES['img']['error'] > 0) {
「アップロードに失敗しました」をエコーします
}
If (move_uploaded_file($_FILES['img']['tmp_name'], $DST_DIR.$_FILES['img']['name'])) {
エコー「アップロード成功」
;
}
その他 {
「アップロードに失敗しました」をエコーします
}
}
}
他 {
echo "ファイルをアップロードしてください";
}
説明:
1. グローバル変数 $_FILE
この配列には、アップロードされたすべてのファイルに関する情報が含まれています。
上の例に示すように、ファイル アップロード フィールドの名前が img であると仮定します。それでは
$_FILES['img']['name']
クライアントによってアップロードされたファイルの元の名前。
$_FILES['img']['type']
ファイルの MIME タイプ (ブラウザーがこの情報を提供する場合)。例は「画像/gif」です。ただし、この MIME タイプは PHP 側ではチェックされないため、鵜呑みにしないでください。 $_FILES['img']['size']: アップロードされたファイルのサイズ (バイト単位)。
$_FILES['img']['size']
アップロードされたファイルのサイズ (バイト単位)。
$_FILES['img']['tmp_name']
ファイルのアップロード後にサーバーに保存される一時ファイル名。
$_FILES['img']['error']
ファイルのアップロードに関連するエラー コード。
2.エラーコードについて
$_FILES['img']['error'] には次の種類があります
アップロード_エラー_OK
値が 0 の場合、エラーは発生せず、ファイルは正常にアップロードされました。
UPLOAD_ERR_INI_SIZE
値が 1 の場合、アップロードされたファイルは php.ini の Upload_max_filesize オプションの制限を超えています。
UPLOAD_ERR_FORM_SIZE
値が 2 の場合、アップロードされるファイルのサイズは、HTML フォームの MAX_FILE_SIZE オプションで指定された値を超えます。
アップロード_エラー_部分
値が 3 の場合、ファイルは部分的にのみアップロードされます。
その値は 4 で、ファイルはアップロードされませんでした。
UPLOAD_ERR_NO_TMP_DIR
値は 6 ですが、一時フォルダーが見つかりません。 PHP 4.3.10 および PHP 5.0.3 で導入されました。
UPLOAD_ERR_CANT_WRITE
その値は 7 で、ファイルの書き込みは失敗しました。 PHP 5.1.0で導入されました。
3.アップロードされたファイルの移動
ファイルがアップロードされると、ファイルはデフォルトでサーバーのデフォルトの一時ディレクトリに保存され (php.ini の Upload_tmp_dir が別のパスに設定されていない限り)、ファイル名はランダムです。ファイルが移動または名前変更されていない場合、そのファイルはフォーム要求の最後に削除されます。したがって、一時ファイルは move_uploaded_file を通じて移動する必要があります。
実験後、move_uploaded_file の機能を copy で完了することもできます。 move_uploaded_file を使用する理由は何ですか? move_uploaded_file は、コピーによって引き起こされるセキュリティ上の脆弱性を防ぐために、アップロードされたファイルに対していくつかのチェックを行うと言われています。しかし、コピーすると具体的にどのような問題が生じるのでしょうか?見つかりませんでした。知り合いの生徒がいたらメッセージを残してください。
とにかく、PHP が特定の関数を与えているのですから、それは意味があるはずなので、まずはこのように使ってみましょう。
3.セキュリティチェック
$_FILES['img']['size'] と $_FILES['img']['type'] を使用して、アップロード タイプの制限、アップロード ファイル サイズなど、アップロードされたファイルのセキュリティ チェックを行うことを検討できます。 。
作者;qmhball

人気の記事

人気の記事

ホットな記事タグ

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド
