gpt4 book ai didi

php - 向mysql中插入大数据并带有进度条

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

我尝试上传文本文件以插入到 mysql 中。它适用于少量行,但当行数超过 1000 时,它会挂起。

我的问题是:

  1. 代码非常慢,并且在大型文本文件中挂起
  2. 进程栏不工作
  3. 如何处理文本和 cvs、xls、xlsx 文件

代码:

//Import uploaded file to Database
$handle = fopen($_FILES['filename']['tmp_name'], "r");
$t = "0";

while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
$num = count($data);
$mobile=$data[0];
$mobile = clean_value(mobile_filter($mobile));

if (preg_match('/^[0-9]{12,12}$/i',$mobile)) {

$check_mob = mysql_query("SELECT * FROM book WHERE mobile = '$mobile' AND owner = '$cp_username' AND groupname = '$groupname'");

if(mysql_num_rows($check_mob) == 0) {
$import="INSERT into book(nickname, mobile, groupname, owner) values('$nickname','$mobile','$groupname','$cp_username')";
mysql_query($import) or die(mysql_error());
$t = $t+1;
echo "<div class=\"progress\">
<div class=\"progress-bar\" role=\"progressbar\" aria-valuenow=\"$t\" aria-valuemin=\"0\" aria-valuemax=\"100\" style=\"width:$t%\">
$t%
</div>
</div>";
}
}
}

最佳答案

实际上,您也可以仅使用 PHP 来完成此操作。

这是示例代码。

$sql="INSERT INTO .....";

$count++;

if($count==500){
// wait for 5 seconds
usleep(5000000);
$count=0;
}

您需要将此代码放入循环中,并逐行保存到数据库中。当系统保存前500条记录时,将休眠5秒并继续。

关于php - 向mysql中插入大数据并带有进度条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36230858/

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