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

导入多个CSV文件到MySQL表

如何解决导入多个CSV文件到MySQL表


我想将多个foreach文件上传到我的数据库中,但是当我尝试添加多个以上的1个文件时,它仅上传了第一个文件,而又跳过了另一个我该怎么办? 我知道我应该使用 if(isset($_POST["submit"])) { if($_FILES['file']['name']) { $filename = explode(".",$_FILES['file']['name']); if($filename[1] == 'csv') { $handle = fopen($_FILES['file']['tmp_name'],"r"); $counter=0; while ( ! feof ( $handle ) ) { if ( $counter === 2) break; $buffer = fgetcsv ( $handle,5000 ); ++$counter; } while($data = fgetcsv($handle)) { if ($data[42] == "SignInName") { $item0 = MysqLi_real_escape_string($connect,$data[42]); } $item0 = MysqLi_real_escape_string($connect,$data[42]); $item1 = MysqLi_real_escape_string($connect,$data[32]); $item2 = MysqLi_real_escape_string($connect,$data[13]); $item3 = MysqLi_real_escape_string($connect,$data[19]); $item4 = MysqLi_real_escape_string($connect,$data[44]); $item5 = MysqLi_real_escape_string($connect,$data[5]); $query = "INSERT into csv(email,password,firstname,lastname,field,country) values('$item0','$item1','$item2','$item3','$item4','$item5')"; MysqLi_query($connect,$query); } fclose($handle); echo "<script>alert('uploaded');</script>"; } else { echo"<script>alert('ERROR ')</script>"; } } } ,但我不知道在哪里添加

这是上传数据的部分

var response = sp.ReadExisting();

while (!response.Contains("OK") && !response.Contains("ERROR"))          

{
 
 // check if message has been sent before exiting      
 response = sp.ReadExisting();  

}

在此先感谢您的阅读。

解决方法

HTML:

<input type="file" name="file[]" id="file" multiple>

php:

if (isset($_POST["submit"])) {
    // Count total files
    $countfiles = count($_FILES['file']['name']);

    // Looping all files
    for ($i = 0; $i < $countfiles; $i++) {
        if ($_FILES['file']['name'][$i]) {
            $filenametmp = $_FILES['file']['name'][$i];
            $filename = explode(".",$filenametmp);

            if ($filename[1] == 'csv') {
                $handle = fopen($_FILES['file']['tmp_name'][$i],"r")
                $counter = 0;
                while (!feof($handle)) {
                    if ($counter === 2)
                        break;
                    $buffer = fgetcsv($handle,5000);
                    ++$counter;
                }
                while ($data = fgetcsv($handle)) {
                    if ($data[42] == "SignInName") {
                        $item0 = mysqli_real_escape_string($connect,$data[42]);
                    }
                    $item0 = mysqli_real_escape_string($connect,$data[42]);
                    $item1 = mysqli_real_escape_string($connect,$data[32]);
                    $item2 = mysqli_real_escape_string($connect,$data[13]);
                    $item3 = mysqli_real_escape_string($connect,$data[19]);
                    $item4 = mysqli_real_escape_string($connect,$data[44]);
                    $item5 = mysqli_real_escape_string($connect,$data[5]);
                    $query = "INSERT into csv(email,password,firstname,lastname,field,country) values('$item0','$item1','$item2','$item3','$item4','$item5')";
                    mysqli_query($connect,$query);
                }
                fclose($handle);
                echo "<script>alert('uploaded');</script>";
            } else {
                echo "<script>alert('ERROR ')</script>";
            }
        }
    }
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。