php - 使用单个输入将 2 个 csv 文件上传到 mysql 表中?这是可能的?

标签 php mysql csv

我尝试使用单个输入上传 2 个 csv 文件,尝试简单复制粘贴,并将其更改为不同的变量仍然不起作用,有什么例子吗?

我尝试通过单击将代码复制粘贴到句柄和句柄1上,但没有成功。

<html>
<head>
<title>Upload page</title>
</head>
<body>
<?php
//KONEKSI.. 
$con=mysqli_connect("localhost","root","","");
// Check connection
if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }

// select database 
mysqli_select_db($con,"rekonsil");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
}

if (isset($_POST['submit'])) {//Script akan berjalan jika di tekan tombol submit..
    $delete="delete from tb_po"; //hapus data sebelum di input kembali
    mysqli_query($con,$delete) or die (mysql_error);
//Script Upload File..
    if (is_uploaded_file($_FILES['filename']['tmp_name'])) {
        echo "<h1>" . "File ". $_FILES['filename']['name'] ." Berhasil di Upload" . "</h1>";
        echo "<h2>Menampilkan Hasil Upload:</h2>";
        //readfile($_FILES['filename']['tmp_name']); menampilkan hasil upload 
    }

    //Import uploaded file to Database, Letakan dibawah sini..
    $handle = fopen($_FILES['filename']['tmp_name'], "r"); //Membuka file dan membacanya
    while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
        $import="insert into tb_po (PONumber, CustomerNo, PODate, CustomerName, Material, Description, POQty, GRQty, DeliveryDate, GRDate, poreleasedate, OutstandingPO, OutboundInbound) values('$data[0]','$data[1]','$data[2]','$data[3]','$data[4]','$data[5]','$data[6]','$data[7]','$data[8]','$data[9]','$data[10]','$data[11]','$data[12]')"; //data array sesuaikan dengan jumlah kolom pada CSV anda mulai dari “0” bukan “1”
        mysqli_query($con,$import) or die(mysql_error()); //Melakukan Import
    }

    $handle1 = fopen($_FILES['filename1']['tmp_name1'], "r"); //Membuka file dan membacanya
    while (($data = fgetcsv($handle1, 1000, ",")) !== FALSE) {
        $import="insert into tb_rls (PONumber, SPBNO, SONumber, DONumber, ShiptoParty, Description, DeliveryQty, ContainerID, ActualGIDate, SPSOTK, Customer, keterangan) values('$data[0]','$data[1]','$data[2]','$data[3]','$data[4]','$data[5]','$data[6]','$data[7]','$data[8]','$data[9]')"; //data array sesuaikan dengan jumlah kolom pada CSV anda mulai dari “0” bukan “1”
        mysqli_query($con,$import) or die(mysql_error()); //Melakukan Import
    }

    fclose($handle, $handle1); //Menutup CSV file
    echo "<br><strong>Import data selesai.</strong>";

}else { //Jika belum menekan tombol submit, form dibawah akan muncul.. ?>

<!-- Form Untuk Upload File CSV-->
   Silahkan masukan file PO.csv yang ingin diupload<br /> 
   <form enctype='multipart/form-data' action='' method='post'>
    Cari CSV File anda:<br />
    <input type='file' name='filename' size='100'>
   </form>

   Silahkan masukan file SPB.csv yang ingin diupload<br /> 
   <form enctype='multipart/form-data' action='' method='post'>
    Cari CSV File anda:<br />
    <input type='file' name='filename1' size='100'>
   <input type='submit' name='submit' value='Upload'></form>

<?php } mysqli_close($con); //Menutup koneksi SQL?>
</body>




最佳答案

文件数组中的 tmp_name 始终相同,不依赖于文件输入类型的名称。

只需替换以下行: $handle1 = fopen($_FILES['filename1']['tmp_name'], "r");

关于php - 使用单个输入将 2 个 csv 文件上传到 mysql 表中?这是可能的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37477698/

相关文章:

Python:从 CSV 文件读取时如何排除行的特定部分

带有加载数据 infile 的 MySQL 导入 CSV 文件缺少备用行

php - 按顺序随机回显数据库列

mysql - 查询查找最频繁更改的记录

php - Laravel 5 范围不工作

MySQL order by before group by

mysql - 一个持久的临时表?

excel - Dropzone 在对话框中仅显示 CSV 和 XLS 文件

php - 如何在 YII 中更改 GridView 列的大小?

javascript - PHP正则表达式从JS函数中提取经纬度