我正在尝试编写一个脚本,将用户上传的 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”。不过,不确定具体情况。
任何帮助将不胜感激!