PHPマルチファイルアップロードの個人的な理解まとめ
PHPの基本的なアプリケーションである複数ファイルのアップロードについて、私のレベルでは限界があるので、詳しくご紹介したいと思います。みんなで一緒に進歩していきましょう。
HTML ファイルの input タグの FILE 型の名前の後ろに [] を追加することで、HTML 内に配列を作成します。たとえば、名前は photos、複数のファイル参照の名前は photos です。 [] の例は次のとおりです。
コンテンツをクリップボードにコピーします
コード:
<br>
<font face="新宋体"><form action="upload.php" method="post" enctype="multipart/form-data"><br>
<p><br>
<input type="file" name="pictures[]" /><br /><br>
<input type="file" name="pictures[]" /><br /><br>
<input type="file" name="pictures[]" /><br /><br>
<input type="submit" value="アップロード" /><br>
</p><br>
</form> //マニュアルの例。 </font>
HTML ファイルを使用して配列を作成する方法のマニュアルでは、これについて説明しています:
&lt; form&gt;
&lt; input name = "myarray []" /&gt;
&lt; input name = "myarray []" /&gt;
&lt; input name = "myarray []" /&gt;
&lt; input name = "myarray []" /&gt;
変数名の後の角括弧に注目してください。これにより配列になります。
同じ名前を割り当てることで、ユニットを異なる配列にグループ化できます:
&lt; input name = "myarray []" /&gt;
&lt; input name = "myarray []" /&gt;
&lt; input name = "myotherarray []" /&gt;
&lt; input name = "myotherarray []" /&gt;
これにより、MyArray と MyOtherArray という 2 つの配列が生成され、PHP スクリプトに送信されます。
特定のキー名を配列に割り当てることもできます:
&lt; input name = "anotherArray []" /&gt;
&lt; input name = "anotherArray []" /&gt;
& Lt; 入力名 = "Anotherray [メール]" /& gt;
&lt; input name = "AnotherArray [電話]" /&gt;
AnotherArray 配列には、キー 0、1、電子メール、電話が含まれます。
注: HTML では配列キーの指定はオプションです。キー名を指定しない場合、フォーム内にセルが表示される順序で配列が埋められます。最初の例にはキー 0、1、2、3 が含まれます。
上記の HTML をクリックしてアップロードすると、$_FILES スーパー グローバル変数によって読み取られ、HTTP POST メソッドによって渡されたファイル情報が配列に結合されます。 3 つ以上のファイルの配列形式は 3 次元です。
$_FILES の使用方法:
$_FILES['ユーザーファイル']['名前']
クライアント マシン ファイルの元の名前。
$_FILES['userfile']['type'] ファイルの MIME タイプ (ブラウザーがこの情報を提供する場合)。例は「
image/gif
」です。ただし、この MIME タイプは PHP 側ではチェックされないため、鵜呑みにしないでください。
$_FILES['userfile']['size'] アップロードされたファイルのサイズ (バイト単位)。
$_FILES['userfile']['tmp_name'] ファイルのアップロード後にサーバーに保存される一時ファイル名。
$_FILES['ユーザーファイル']['エラー']
以下はファイルのアップロードです。ファイルがアップロードされると、その情報は $_FILES 配列に生成されます。ファイルなので、わかりやすくするために、$ を出力するために PRINT_R を使用します。 _FILES を使用してその構造を表示します。
HTMLファイル:
コード:
PHP は次のファイルを受け取ります。
コード:
<font face="新宋体"><br>
<?php<br>
print_r($_FILES);<br>
?></font>
コマンドを UPLOAD.PHP として保存し、上記の HTML を実行してアップロードするファイルを選択します (たとえば、ファイル名は Thumbs.db )。IE ブラウザで [表示] および [ソース コード] をクリックします。次のように表示されます:
配列
(
[写真] =>配列
(
親指。
アプリケーション/オクテット
D:easyphp \ tmpphp64.tmp
[サイズ] => 23040
)
)この情報に基づいて、上記の $_FILES の使用法と組み合わせると、誰もがより深く理解できるはずです。
複数のファイルのアップロードを見てみましょう。3 つのファイル名は FILE1.TXT、FILE2.TXT、および FILE3.TXT です。次に、PRINT_R 出力を使用してその構造を表示します。
HTML ファイルのコード:
コード: