检查文件是否为CSV代码正在处理错误

时间:2016-01-31 13:14:24

标签: php csv eof

我发现这个代码在Internet上根据我的要求首次使用EOF进行了更改。我不明白为什么会出现错误。 未定义的变量:第70行的内容!!!我知道它是未定义的,但我不知道如何解决它。

<?php
define('DB_SERVER', 'localhost');
define('DB_USER', 'root');
define('DB_PASSWORD',"");
define('DB_NAME', 'uploadcsv');

@$conn = mysql_connect (DB_SERVER, DB_USER, DB_PASSWORD);
mysql_select_db (DB_NAME,$conn);
if(!$conn){
    die( "Sorry! There seems to be a problem connecting to our database.");
}

function get_file_extension($file_name) {
    return end(explode('.',$file_name));
}
 $error="";
function errors($error){
    if (!empty($error))
    {
            $i = 0;
            $showError="";
            while ($i < count($error)){
            $showError.= '<div class="msg-error">'.$error[$i].'</div>';
            $i ++;}
            return $showError;
    }// close if empty errors
} // close function


if (isset($_POST['upfile'])){
// check feilds are not empty

if(get_file_extension($_FILES["uploaded"]["name"])!= 'csv')
{
$error[] = 'Only CSV files accepted!';
}

if (!$error){

$tot = 0;
$handle = fopen($_FILES["uploaded"]["tmp_name"], "r");
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
    for ($c=0; $c < 1; $c++) {


            if($data[0] !='keywords'){
                mysql_query("INSERT INTO fields(
                keywords,
                tags
                )VALUES(
                    '".mysql_real_escape_string($data[0])."',
                    '".mysql_real_escape_string($data[1])."'
                )")or die(mysql_error());
            }

    $tot++;}
}
fclose($handle);
$content.= "<div class='success' id='message'> CSV File Imported, $tot records added </div>";

}// end no error
}//close if isset upfile 
$er = errors($error);
$content.= <<<EOF
<h3>Import CSV Data</h3>
$er
<form enctype="multipart/form-data" action="" method="post">
    File:<input name="uploaded" type="file" maxlength="20" /><input type="submit" name="upfile" value="Upload File">
</form>
EOF;
echo $content;
?>

1 个答案:

答案 0 :(得分:0)

这是因为你没有创建变量。 $content的第一个用法是为其添加字符串部分。

所以在第59

$content.= "<div class='success' id='message'> CSV File Imported, $tot records added </div>";

.之前移除=应该使变量有效,因为您正在创建它,而不是尝试连接它。

$content= "<div class='success' id='message'> CSV File Imported, $tot records added </div>";