hpとMySQL でCSVデータのインポート する
//フォーム側 index.html <form action="up.php" enctype="multipart/form-data" method="post">ファイル:<input name="upfile" type="file" /> <input type="submit" value="upload" /> </form>
//アップロードup.php <?php if (is_uploaded_file($_FILES["upfile"]["tmp_name"])) { if (move_uploaded_file($_FILES["upfile"]["tmp_name"],"csv/" . $_FILES["upfile"]["name"])) { chmod("csv/" . $_FILES["upfile"]["name"], 0777); //CSVディレクトリを作っておく $upload ="./csv/".$_FILES["upfile"]["name"]; $res = $upload; if ( $res ) { $fp = fopen($upload,"r"); while( ! feof($fp) ) { $csv = fgets($fp); $csv = trim($csv,'"'); $csv = mb_convert_encoding($csv,"UTF-8", "utf-8"); $csv = str_replace('"','', $csv); $csv_array = explode(",",$csv); //インサート $stmt = $pdo -> prepare("INSERT INTO tb_bank1 (b_rem1,b_rem2,b_rem3,b_rem4,b_rem5) VALUES (:b_rem1,:b_rem2,:b_rem3,:b_rem4,:b_rem5)"); //$stmt->bindParam(':b_id', '', PDO::PARAM_STR); $stmt->bindParam(':b_rem1', $csv_array[0], PDO::PARAM_STR); $stmt->bindParam(':b_rem2', $csv_array[1], PDO::PARAM_STR); $stmt->bindParam(':b_rem3', $csv_array[2], PDO::PARAM_STR); $stmt->bindParam(':b_rem4', $csv_array[3], PDO::PARAM_STR); $stmt->bindParam(':b_rem5', $csv_array[4], PDO::PARAM_STR); $stmt->execute(); } echo $_FILES["upfile"]["name"] ."をアップロードしました。".$upload; if (file_exists($upload)) { unlink("$upload"); } } } else { echo"ファイルをアップロードできません。"; } } else { echo"ファイルが選択されていません。"; } ?>