この記事では、PHP における単一ファイルのアップロードと複数ファイルのアップロードに関するコードの詳細な分析と問題解決方法を説明します。一緒に学び、参考にしてみましょう。
$_FILES 空の配列はどのような場合ですか?
フォーム送信の enctype が php.ini 設定ファイルの multipart/form-data と等しくない場合、file_uploads = Off で、アップロードされたファイル サイズ > php.ini で設定された最大アップロード サイズ設定ファイル
$_FILES が空の配列である限り、上記の問題が発生する可能性があるため、修正する必要があります。
ファイルを選択せずにすぐに「アップロードボタン」をクリックすると、$_FILESは要素の配列となり、要素内の各属性は空文字列、error属性は4
単一ファイルのアップロード
$_FILES データ構造array( 'filename' => array( 'name' => 'xxx.png', 'type' => 'image/png', 'size' => 2548863, 'tmp_name' => '/img/sdsdsd.png', 'error' => 0 ) )
単一ファイル
または複数ファイル アップロード
、5 つの固定属性があります: name / size / type / tmp_name / error複数ファイル アップロード
単一ファイルのアップロードと比較して、複数ファイルのアップロードは処理がはるかに複雑です。フロントエンドでの複数ファイルのアップロードの 2 つの形式
//name相同 <form method="post" enctype="multipart/form-data"> <input type="file" name="wt[]"/> <input type="file" name="wt[]"/> <input type="submit" value="提交"/> </form> //name不同(简单点) <form method="post" enctype="multipart/form-data"> <input type="file" name="wt"/> <input type="file" name="mmt"/> <input type="submit" value="提交"/> </form>
バックエンド
$_FILES はさまざまなデータ構造に対応します
//name相同 array (size=1) 'wt' => array (size=5) 'name' => array (size=2) 0 => string '新建文本文档 (2).txt' (length=26) 1 => string '新建文本文档.txt' (length=22) 'type' => array (size=2) 0 => string 'text/plain' (length=10) 1 => string 'text/plain' (length=10) 'tmp_name' => array (size=2) 0 => string 'C:\Windows\php1D64.tmp' (length=22) 1 => string 'C:\Windows\php1D65.tmp' (length=22) 'error' => array (size=2) 0 => int 0 1 => int 0 'size' => array (size=2) 0 => int 0 1 => int 1820 //name不同(简单点) array (size=2) 'wt' => array (size=5) 'name' => string '新建文本文档 (2).txt' (length=26) 'type' => string 'text/plain' (length=10) 'tmp_name' => string 'C:\Windows\php39C7.tmp' (length=22) 'error' => int 0 'size' => int 0 'mmt' => array (size=5) 'name' => string '新建文本文档.txt' (length=22) 'type' => string 'text/plain' (length=10) 'tmp_name' => string 'C:\Windows\php39D8.tmp' (length=22) 'error' => int 0 'size' => int 1820
フィールド エラーの目的 値: 1 アップロードされたファイルは、php.ini の Upload_max_filesize オプションで制限された値を超えています。 値: 2 アップロードされたファイルのサイズが、HTML フォームの MAX_FILE_SIZE オプションで指定された値を超えています。 値: 3 ファイルは部分的にのみアップロードされました。 値: 4 ファイルはアップロードされませんでした。値: 5 アップロード ファイル サイズは 0 です。
PHP マルチプレイヤー モジュール開発の原理分析
XHProf を使用して PHP パフォーマンスのボトルネックを見つける方法の説明
Laravel フレームワークのカスタム テンプレート ディレクティブの関連概要
以上がPHP の単一ファイルと複数ファイルのアップロード例の説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。