Php 带进度条的CSV导入
我使用这个脚本将csv文件导入mysql数据库 如何显示使用jquery和php将csv文件导入db的进度条 我不需要实际的代码,只需要一些信息 提前谢谢Php 带进度条的CSV导入,php,jquery,mysql,pdo,Php,Jquery,Mysql,Pdo,我使用这个脚本将csv文件导入mysql数据库 如何显示使用jquery和php将csv文件导入db的进度条 我不需要实际的代码,只需要一些信息 提前谢谢 if ( $request->get( $_POST["action"] ) == "import" ) { $file = $upload->file_upload( "import", "media/import" ); if ( file_exists( DIR_UPLOAD_PH
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):
- 在另一个进程中,将
语句中INSERT插入到…
- 然后运行它李>
- 在主线程中使用
获取showprocesslist
语句的状态INSERT
bind($foo);绑定($bar)
,然后while(list($foo,$bar)=fgetcsv(…)