php でファイルをアップロードする

muramatsu 39views 更新:2016年10月24日

ファイルのアップロード HTML側の設定

//先ずエンコード方式を決める。特にmethodとencenctypeは以下のように指定しないとだめだと思います
<form id="任意" name="任意" action="アップロード先" method="POST" enctype="multipart/form-data">
//input の設定ですが type は file を指定することによってアップロード用のボタンを自動生成、name はアップロードしたファイルをサーバー側が受け取るのに必要([]は今回複数のファイルをアップロードするので[]という配列を表すのを最後に記す。multiple は multiple を指定することによってファイルを複数アップロードすることができる。
<input type="file" id="任意" name="hogehoge[]"   style="display: none;" multiple="multiple">

これでクライアント側からサーバー側へとファイルをアップロードできるとおもわれます。 サーバー側が情報を受け取るときは $_FILEに格納されているのでそこから取り出す

//アップロードしたファイルの個数を数える
$photoData=$_FILES['hogehoge']['name'];
$count = count($photoData);
//for文でその個数分情報を読み取る
for ($i=0; $i<$count; $i++) {
//is_uploaded_file 関数でちゃんとアップロードされたか確認する
//move_uploaded_file 関数でアップロードされたファイルを他の場所に移す
if (is_uploaded_file($_FILES['hogehoge']['tmp_name'][$i])) {
  if (move_uploaded_file($_FILES['hogehoge']['tmp_name'][$i], dirname(__FILE__).'/'.$_FILES['tmpfile']['name'][$i])) {
    $tmpname = $_FILES['tmpfile']['name'][$i];

という感じでアップロードされたファイルの情報を取り出す。

ログイン / 新規登録してコメントする

このソースコードをストックして後で利用したり、作業に利用したソースコードをまとめることができます。

こちらもお役に立つかもしれません