2013-11-23 112 views
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)"; 

} 


} 

回答

相关问题