Browse Source

add max file number limit

master
filesite 5 months ago
parent
commit
7d95d52080
  1. 8
      lib/DirScanner.php

8
lib/DirScanner.php

@ -36,6 +36,9 @@ Class DirScanner { @@ -36,6 +36,9 @@ Class DirScanner {
private $tree = array(); //目录扫描树形结构
private $maxFileNumber = 1000; //目录下最大文件数量支持
protected $supportFileExtensions = array( //支持的文件类型
'txt', //纯文本
'md', //纯文本
@ -559,6 +562,7 @@ Class DirScanner { @@ -559,6 +562,7 @@ Class DirScanner {
$nextLevels = $levels - $this->scanningDirLevel;
$files = scandir($dir);
$counter = 0;
foreach($files as $file) {
if (in_array($file, $ignore_files) || !$this->isValid($file)) {continue;}
@ -583,6 +587,8 @@ Class DirScanner { @@ -583,6 +587,8 @@ Class DirScanner {
$branch = array_merge(['pid' => $pid], $branch);
}
}else {
if ($counter >= $this->maxFileNumber) {break;} //最大文件数量限制
$pathinfo = pathinfo($realpath);
$extension = strtolower($pathinfo['extension']);
if ( in_array($extension, $this->supportFileExtensions) ) {
@ -605,6 +611,8 @@ Class DirScanner { @@ -605,6 +611,8 @@ Class DirScanner {
$this->scanResults[$branch['id']] = $branch;
$tree[$branch['id']] = $branch;
}
$counter ++;
}
}

Loading…
Cancel
Save