将信息从文本文件插入SQL数据库


Insert information into SQL database from Text File

我有一些代码来获取一个使用逗号作为分隔符的大型文本文件,并将其输入到数据库中。

我在代码的fget和feof部分遇到了一个错误。文件上载成功。

它说"feof():提供的参数不是有效的流资源…"answers"fgets():供应的参数不是无效的流资源.."

 if(isset($_POST['submit'])){
$allowedExts = "txt";
$temp = explode(".", $_FILES["file"]["name"]);
$extension = end($temp);
  if ($_FILES["file"]["error"] > 0)
{
echo "Return Code: " . $_FILES["file"]["error"] . "<br>";
}
  else
{
echo "Upload: " . $_FILES["file"]["name"] . "<br>";
echo "Type: " . $_FILES["file"]["type"] . "<br>";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " kB<br>";
echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br>";
if (file_exists("upload/" . $_FILES["file"]["name"]))
  {
  echo $_FILES["file"]["name"] . " already exists. ";
  }
else
  {
  move_uploaded_file($_FILES["file"]["tmp_name"],
  "upload/" . $_FILES["file"]["name"]);
  echo "Stored in: " . "upload/" . $_FILES["file"]["name"];
  }
}

$tableArray = array();
$handle = @fopen("/uploads/". $_FILES["file"]["name"], "r");
require ('connect.php');
while (!feof($handle)) // Loop til end of file.
{
    $buffer = fgets($handle, 4096); // Read a line.
    list($fname,$lname,$snumber,$gender,$a , $b, $year,$DOB, $phone,$c,$email,$d,$e,$R,$r,$w)=explode(",",$buffer);
    $sql_statement = "INSERT INTO students  VALUES ($snumber , $fname , $lname , $gender , $year , $email, $DOB , $phone , 1)";
}

}

您可以使用此的LOAD DATA INFOILE查询

你可以在这里找到文件

http://dev.mysql.com/doc/refman/5.1/en/load-data.html

要打开文件,请使用:

$handle = fopen("<file location>","r");