将 zip 文件导入数据库时​​插入垃圾值

问题描述

我正在尝试通过文件导入数据,下面的代码可以很好地处理 csv 文件,但是,当我上传一个 zip 文件时,它会将一些垃圾上传数据库中。你能帮我解决这个问题吗?谢谢!

<?PHP

include_once 'dbConfig.PHP';

if(isset($_POST['importSubmit'])){

$csvMimes = array('text/x-comma-separated-values','text/comma-separated-values','application/octet- 
stream','application/vnd.ms-excel','application/x-csv','text/x-csv','text/csv','application/csv','application/excel','application/vnd.msexcel','text/plain','application/zip','application/x-zip-compressed','multipart/x-zip','application/x-compressed');

if(!empty($_FILES['file']['name']) && in_array($_FILES['file']['type'],$csvMimes)){
    
    if(is_uploaded_file($_FILES['file']['tmp_name'])){
        
        $csvFile = fopen($_FILES['file']['tmp_name'],'r');
        
        fgetcsv($csvFile);
        
        while(($line = fgetcsv($csvFile)) !== FALSE){
            $name   = $line[0];
            $email  = $line[1];
            
            $prevQuery = "SELECT id FROM members WHERE email = '".$line[1]."'";
            $prevResult = $db->query($prevQuery);
            
            if($prevResult->num_rows > 0){
                $db->query("UPDATE members SET name = '".$name."',modified = Now() WHERE email = '".$email."'");
            }else{
                $db->query("INSERT INTO members (name,email) VALUES ('".$name."','".$email."')");
            }
        }
        
        fclose($csvFile);
        
        $qstring = '?status=succ';
    }else{
        $qstring = '?status=err';
    }
}else{
    $qstring = '?status=invalid_file';
}
}

header("Location: index1.PHP".$qstring);

?>

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)