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>";

?>

基本的に、2つを接続する方法についてアドバイスが必要です。その 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 に答える