訪問者数 13943 最終更新 2011-07-31 (日) 09:28:05
<form action="file-upload.php" method="post" enctype="multipart/form-data"> Send these files:<br /> <input name="userfile[]" type="file" /><br /> <input name="userfile[]" type="file" /><br /> <input type="submit" value="Send files" /> </form> 上記のフォームで投稿された場合、配列 $_FILES['userfile'], つまり、 $_FILES['userfile']['name'][i], $_FILES['userfile']['size'][i], $_FILES['userfile']['tmp_name'][i], $_FILES['userfile']['type'][i] が設定されます。 例えば、ファイル名が /home/test/review.html および /home/test/xwp.out のファイルが 投稿されると、 $_FILES['userfile']['name'][0] の値が review.html となり、$_FILES['userfile']['name'][1] の値が xwp.out となります。 尚、max_file_uploads は一回のリクエストあたりでアップロードできるファイルの数の制限値となります。
<form action="file-upload.php" method="post" enctype="multipart/form-data"> Send these files:<br /> <input name="userfile[]" type="file" multiple/><br /> <input type="submit" value="Send files" /> </form>
multifile.html (formを書いている側) <html> <body> <form action="multifile.php" method="post" enctype="multipart/form-data"> Send these files:<br /> <input type="hidden" name="MAX_FILE_SIZE" value="300000" /> <input name="userfile[]" type="file" multiple/><br /> <--- ここにmultiple指定 <input type="submit" value="Send files" /> </form> </body> </html> multifile.php (formのactionで起動される側) <?php $count = count($_FILES['userfile']['name']); print($count . '<br>'); for ($i=0; $i<$count; $i++) { print($_FILES['userfile']['name'][$i] . '<br>'); print($_FILES['userfile']['tmp_name'][$i] . '<br>'); if (is_uploaded_file($_FILES["userfile"]["tmp_name"][$i])) { if (move_uploaded_file($_FILES["userfile"]["tmp_name"][$i], "files/" . $_FILES["userfile"]["name"][$i])) { chmod("files/" . $_FILES["userfile"]["name"][$i], 0644); echo $_FILES["userfile"]["name"][$i] . "をアップロードしました。<br>"; } else { echo "ファイルをアップロードできません。<br>"; } } else { echo "ファイルが選択されていません。<br>"; } } ?>