检查文件是否为CSV代码,但出现错误

Check if file is CSV code is working with error

提问人:urv_a_shi 提问时间:1/31/2016 更新时间:1/31/2016 访问量:160

问:

我发现 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;
?>
php csv eof

评论

0赞 Tom 1/31/2016
请勿使用它已被删除,将不再起作用。请改用链接或链接mysql_*PDOMySQLi
0赞 urv_a_shi 2/2/2016
不,甚至它不起作用

答:

0赞 Phiter 1/31/2016 #1

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

所以在行59

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

删除 before 应该会使变量起作用,因为您正在创建它,而不是尝试连接它。.=

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

评论

0赞 urv_a_shi 2/2/2016
嘿,实际上它部分工作..我换了$content。无论$content在代码中,代码都可以正常工作。但是以前,如果我添加了 15 个字段,它曾经给我添加了一条消息,添加了 15 个字段,现在没有显示任何消息
0赞 Phiter 2/2/2016
$content =更改字符串值,将向实际字符串添加更多文本。$content .=