ひとつのページにファイルアップロードを複数設置する方法
2017/12/10
文書番号:20796
ひとつのページにファイルアップロードを複数設置し、PHP で取得・処理する方法です。
file-upload.html
<form action="file-upload.php" method="post" enctype="multipart/form-data">
ファイル1:
<input name="userfile[]" type="file" /><br />
ファイル2:
<input name="userfile[]" type="file" /><br />
<input type="submit" value="アップロード" />
</form>
file-upload.php
//ファイルが指定されているかチェック
if (isset($_FILES['userfile']['name']) && count($_FILES['userfile']['name']) > 0) {
//アップロードされたファイル数分ループする
for ($i=0; $i<count($_FILES['userfile']['name']); $i++) {
//ファイルの拡張子を取得する(必要な場合)
// $file_ext = pathinfo($_FILES["userfile"]["name"][$i], PATHINFO_EXTENSION);
//アップロードされたファイルを保存する
if (is_uploaded_file($_FILES["userfile"]["tmp_name"][$i])) {
if(move_uploaded_file($_FILES["userfile"]["tmp_name"][$i], "./images/".$_FILES["userfile"]["name"][$i])) {
echo $_FILES["userfile"]["name"][$i] . "をアップロードしました。";
} else {
echo "ファイルをアップロードできません。";
}
} else {
echo "ファイルが選択されていません。";
}
}
}
エラー処理などは実行環境に合わせて実装してください。