ブラウザで自分の情報を編集するとき、アバターのアップロードに遭遇します;ライブラリでは、ドキュメントをアップロードします...「アップロード」という言葉はどこにでも存在します。
PHPは最高の言語です(他の言語のプログラマの方、私を叩かないでください…)。 PHP にはインタラクションの処理において当然の利点があり、アップロードされたファイルを処理するための強力な機能も当然備わっています。
一般的なデータの送信と同様に、ファイルのアップロードにもフォームが必要です。ファイルをアップロードするための特別なフォームを作成しましょう。
リーリーそれでは、このコードスニペットを分析してみましょう。
上記のenctypeは、データをサーバーに送信する際に使用するエンコード形式を指定します。 3 つの値があります:
MAX_FILE_SIZE 隠しフィールド (単位はバイト) はファイル入力フィールドの前に配置する必要があり、その値はファイルの最大サイズです。これはブラウザに対する提案であり、PHP もこれをチェックします。このバリアはブラウザ側でバイパスできるため、大きなファイルをブロックするためにこれを使用することは期待しないでください。ただし、最大ファイルサイズは php.ini の post_max_size= (number)M によって制限されます。ただし、この項目を追加すると、ユーザーが大きなファイルをアップロードするのに時間を費やしてから大きなファイルのアップロードに失敗したというトラブルを回避できます。 ユーザーがファイルフォームを送信すると、サーバーはデータを受け入れることができます。 PHP にはファイルを処理するためのグローバル変数
$_FILESがあり、アップロードフィールド名は userfile であるとします (フィールド内で自由に変更できます)。 $_FILES['userfile']['name'] クライアントファイルの元の名前。
$_FILES['userfile']['type'] ファイルの MIME タイプは PHP 側でチェックされないため、この値はまだ存在しない可能性があります。
$_FILES['userfile']['size'] アップロードされたファイルのサイズ (バイト単位)。
$_FILES['userfile']['tmp_name'] ファイルのアップロード後にサーバー側に保存される一時ファイル名。
$_FILES['userfile']['error'] ファイルのアップロードに関連するエラー コード。アップロードが成功した場合、値は 0 になります。
ファイルがアップロードされると、デフォルトではサーバーのデフォルトの一時ディレクトリに保存され、php.iniのupload_tmp_dirは別のパスに設定されます。
ここで move_uploaded_file() 関数について説明する必要があります:
この関数は、file で指定されたファイルが正当なアップロード ファイル (つまり、PHP の HTTP POST アップロード メカニズムを通じてアップロードされたファイル) であることをチェックし、保証します。ファイルが正当な場合、そのファイルは newloc で指定されたファイルに移動されます。
ファイルが合法的にアップロードされたファイルではない場合、操作は行われず、move_uploaded_file() は false を返します。
ファイルが正当にアップロードされたファイルであるが、何らかの理由で移動できない場合、アクションは発生せず、move_uploaded_file() は false を返し、警告が発行されます。
この種のチェックは、アップロードされたファイルによってそのコンテンツがこのシステムのユーザーまたは他のユーザーに表示される可能性がある場合に特に重要です。
以下は、php でファイルをアップロードする例です:
リーリー
http://www.bkjia.com/PHPjc/1133052.html