|
|
|
@ -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 ++; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|