-1

ファイルを mysql データベースにインポートするための PHP スクリプトを入手しました。しかし、それを使用しようとすると、次のエラーが発生します。

ファイルが見つかりません。正しいパスを指定したことを確認してください

しかし、私はこれが私のスクリプトであるファイルを選択さえしませんでした:

<?php 
include ('db_connect.php');
//connect to the database

//

if ($_FILES[csv][size] > 0) {

    //get the csv file
    $file = $_FILES[csv][tmp_name];
    $handle = fopen($file,"r");

    //loop through the csv file and insert into database
    do {
        if ($data[0]) {
            mysql_query("INSERT INTO test (nummer, branche) VALUES
                (
                    '".addslashes($data[0])."',
                    '".addslashes($data[1])."',
                )
            ");
        }
    } while ($data = fgetcsv($handle,10000,",","'"));
    //

    //redirect
    header('Location: import.php?success=1'); die;

}

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Import a CSV File with PHP & MySQL</title>
</head>

<body>

<?php if (!empty($_GET[success])) { echo "<b>Your file has been imported.</b><br><br>"; } //generic success notice ?>

<form action="" method="post" enctype="multipart/form-data" name="form1" id="form1">
  Choose your file: <br />
  <input name="csv" type="file" id="csv" />
  <input type="submit" name="Submit" value="Submit" />
</form>

</body>
</html>

この問題で私を助けてくれる人はいますか?

4

1 に答える 1

2

do/while ループについて再コメント: いいえ、つまり、このように

$handle = fopen($file,"r");
if ($handle !== FALSE) {
    while (!feof($handle)) {
        $data = fgetcsv($handle,10000,",","'");
        if ($data[0]) {
            mysql_query("INSERT INTO test (nummer, branche) VALUES
                (
                    '".addslashes($data[0])."',
                    '".addslashes($data[1])."'
                )
            ");
        }

    }
    fclose($handle);
}
于 2012-11-05T13:55:03.620 に答える