微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决将 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 举报,一经查实,本站将立刻删除。