1

このスクリプトを作成して、.csv ファイルをアップロードし、データベースに直接送信しました。しかし、それは私のテーブルに何も書きません。ファイルをサーバーにアップロードし、「$file」の代わりに「file.csv」と書き込むと、完全に機能します..しかし、フォーム経由でアップロードしたいです。誰でも私を助けることができますか?

形:

<html> 
<head> 
</head> 
<body> 

<h2> CSV Import </h2> 
<form>
 <form method="post" action="imp.php" enctype="multipart/form-data"> 
  <input type="file" name="file" /> 
  <br /> 
  <input type="submit" name="submit" value="Submit" /> 
</form>
</body> 
</html>

imp.php:

<?php
$delimiter = ',';

$db = new mysqli('host', 'user', 'pw', 'db');


$file= $_FILES[file][temp_name];


if (($handle = fopen($file, 'r')) !== FALSE) {
    while (($data = fgetcsv($handle, 1000, $delimiter)) !== FALSE) {
        foreach($data as $i => $content) {
            $data[$i] = $db->real_escape_string($content);
        }
        $db->query("INSERT INTO table VALUES('" . implode("','", $data) . "');");
    }
    fclose($handle);
}


?>
4

2 に答える 2