将 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);

?>
choumu72217 回答:将 zip 文件导入数据库时​​插入垃圾值

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/721774.html

大家都在问