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

} 


} 

ответ

Смежные вопросы