问题描述
我正在尝试通过文件导入数据,下面的代码可以很好地处理 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 (将#修改为@)