このスクリプトを作成して、.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);
}
?>