fgetcsv&glob-删除了限制,但停止了10000个文件

时间:2018-11-01 14:42:45

标签: php fgetcsv

我在循环中使用fgetcsv,该循环生成要基于以下内容打开的文件名  glob()函数。 它运行良好,但是在名为9999.csv的文件处停止,这使我相信某个地方设置了限制,但是我将函数中的限制设置为0(无限制),因此为什么停止处理文件

我正在运行一个后台脚本,并且每5秒钟就会生成一个新的csv文件,因此它应该停止不了(我目前在目录中有85,000个csv文件,而在有48,000个文件时启动了该脚本)

这是我的代码,如果有人可以找到解决方法,那就太好了

$files = glob("*.csv"); ## need glob for wildcards as scandir does not work
foreach ($files as $value) {

  $fp = fopen($value, "r");

  while( !feof($fp) ) {
    if( !$line = fgetcsv($fp, 0, ',')) {
       continue;
    }

    $importSQL = mysqli_query($dbc, "INSERT INTO `data` (`col1`,`col2`,`col3`,`col4`) VALUES('".$line[0]."','".$line[1]."','".$line[2]."','".$line[3]."')");
  }
  fclose($fp);
} 
echo "Last File Processed - ".$value;

**编辑** 也仅用于调试目的: 数据库类型为MyISAM,现在有6,934,460行,大小为872.9 mb

0 个答案:

没有答案