0

我正在尝试编写一个脚本,将用户上传的 CSV 文件的内容保存到 MySQL 数据库中。我对将文件永久保存在服务器上不感兴趣——重点是只允许用户通过批量上传在 MySQL 数据库中创建多个条目。

这是我到目前为止所拥有的。

HTML 上传表单

<form enctype="multipart/form-data" action="BulkUploadStudents.php" method="POST">
Choose a file to upload: <input name="uploadedfile" type="file" /><br />
<input type="submit" value="Upload File" />
</form>

将 CSV 文件的内容保存到 MySQL 数据库的 PHP 脚本

<?php

$username="";
$password="";
$database="";

mysql_connect(localhost,$username,$password);
@mysql_select_db($database) or die( "Unable to select database");

$file_handle = fopen("http://www.example.com/file.csv", "r");

while (!feof($file_handle) ) {

$line_of_text = fgetcsv($file_handle, 1024);

$query = "INSERT INTO students VALUES ('','$line_of_text[0]','$line_of_text[1]','$line_of_text[2]')";
mysql_query($query);

}

fclose($file_handle);

echo "<p><b>Records succesfully imported</b></p>";

?>

我基本上只需要一些关于如何连接两者的建议。我认为这就像命名 PHP 脚本 BulkUploadStudents.php 一样简单,为上传的文件名创建一个变量,然后用该变量替换“example.com/file.csv”。不过,不确定具体情况。

任何帮助将不胜感激!

4

1 回答 1

1

只需打开插入 url 的临时文件:

$file_handle = fopen($_FILES["uploadedfile"]['tmp_name'], "r");
于 2012-07-18T09:36:54.530 回答