ホームページ  >  記事  >  バックエンド開発  >  php_PHPチュートリアルでのファイルのアップロードの詳細な説明

php_PHPチュートリアルでのファイルのアップロードの詳細な説明

WBOY
WBOYオリジナル
2016-07-13 17:53:23821ブラウズ

ファイルのアップロード機能は、HTML ページと PHP 処理部分の 2 つの部分で構成されます。 HTML ページでは主に、ユーザーがアップロードするファイルを選択でき、PHP 部分ではサーバー上の指定されたディレクトリにファイルを保存できます。
1つ。 HTML部分
アップロード.html
[html]


デモをアップロード:

                                                                    説明:
1. Input タグ内の Type="file" は、入力がファイルとして処理されることを示します。
2.Enctype は、このフォームを送信するときに使用するコンテンツ タイプを指定します。ファイルコンテンツなど、フォームにバイナリデータが必要な場合、ファイルをアップロードする場合は、この属性が必要です。
enctype の詳細については、「HTML タグの enctype 属性」を参照してください

2つ。 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 の場合、ファイルは部分的にのみアップロードされます。

UPLOAD_ERR_NO_FILE

その値は 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

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/478030.html技術記事ファイルのアップロード機能は、HTML ページと PHP 処理部分の 2 つの部分で構成されます。 HTML ページでは主にユーザーがアップロードするファイルを選択でき、php 部分ではファイルをサーバーに保存できます...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。