gpt4 book ai didi

php - 带进度条的 CSV 导入

转载 作者:行者123 更新时间:2023-11-29 23:27:29 25 4
gpt4 key购买 nike

我正在使用此脚本将 csv 文件导入到 mysql 数据库。

如何显示使用 jquery 和 php 将 csv 文件导入数据库的进度条?

我不需要实际的代码,只需要一些信息。

提前致谢。

    if ( $request->get( $_POST["action"] ) == "import" ) {

$file = $upload->file_upload( "import", "media/import" );

if ( file_exists( DIR_UPLOAD_PHOTO . "/media/import/" . $file ) ) {

$file = DIR_UPLOAD_PHOTO . "/media/import/" . $file;

try {
$dbh = new PDO("mysql:host=".HOST."; dbname=".DATABASE, USER, PASSWORD);

}
catch(PDOException $e) {
echo $e->getMessage();
}

$handle = fopen( $file, "r" );
$delimiter = '|';

$dbh->beginTransaction();


$stmt = $dbh->prepare("INSERT INTO products SET title = :title, price = :price
ON DUPLICATE KEY UPDATE
title = :title, price = :price"
);


fgets($handle);

$rows = count(file($file));

while ($line = fgetcsv($handle, 1000, $delimiter)) {

$line = array_map('trim', $line);


$stmt->bindParam(':title', $line[0], PDO::PARAM_STR);
$stmt->bindParam(':price', $line[1], PDO::PARAM_STR);

$stmt->execute();


}


$dbh->commit();
fclose($handle);
$dbh = null;


}
}

最佳答案

最后在 MariaDB 中你可以通过这种方式获得一些状态信息(不知道它是否也适用于 MySQL):

  • 在其他进程中 fork INSERT INTO ... 语句
  • 并运行它。
  • 在主线程中使用 SHOW PROCESSLIST 获取 INSERT 语句的状态。

关于php - 带进度条的 CSV 导入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26845558/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com