• ベストアンサー

phpで複数のファイルをアップロードする場合

お世話になります。 PHPを使って、ファイルを複数アップロードしようと思います。 htmlで <input name="p_s_img1" type="file"> <input name="p_s_img2" type="file"> ・・・ <input name="p_s_img10" type="file"> と記述してあります。 受け取り側のPHPでファイル名を取得するのに $uploadimgName1=""; $uploadimgName1=$_FILES['p_s_img1']['name']; $uploadimgName2=""; $uploadimgName2=$_FILES['p_s_img2']['name']; ・・・ $uploadimgName10=""; $uploadimgName10=$_FILES['p_s_img10']['name']; と書けば、$uploadimgName*の変数に ファイル名が入ると思うのですが、 これをfor文の繰り返し処理などを使って簡単にかけないでしょうか? しかも、$uploadimgName*の変数は、for文から抜けた後も利用したいのですが。 よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

普通は配列で受けるもんじゃないですかねぇ? foreach ($_FILES as $file){ $uploadimgName[]=$file['name']; } ですみますし。

rabu_chihaha
質問者

お礼

こんなに簡単にできるのですか。 ありがとうございます。やってみます。

その他の回答 (1)

  • moon_night
  • ベストアンサー率32% (598/1831)
回答No.1

可変変数にすればいいのでは? for($i=1;$i<=10;$i++) { $save_name = 'uploadimgName' .$i; $up_name = 'p_s_img' .$i; $$save_name = $_FILES[$up_name]['name']; }

rabu_chihaha
質問者

お礼

ありがとうございます。 この可変変数がなかなか理解できないのです。 勉強になりました。