0
我有一些代码需要使用逗号作为分隔符的大型文本文件,并将其输入到数据库中。从文本文件插入到SQL数据库中的信息
我收到代码的fget和feof部分的错误。该文件正在成功上传。
它说:“FEOF():提供的参数是不是一个有效的流资源...”和“与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)";
}
}