Skip to content

Commit b72f6ff

Browse files
committed
Optimise iterators.
1 parent 159a94a commit b72f6ff

File tree

3 files changed

+8
-8
lines changed

3 files changed

+8
-8
lines changed

l10n/zh.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
# License: GNU/GPLv2
88
# @see LICENSE.txt
99
#
10-
# This file: Chinese language data (last modified: 2025.09.11).
10+
# This file: Chinese language data (last modified: 2025.09.21).
1111
#
1212
# Regarding translations: My native language is English. Because this is a free
1313
# and open-source hobby project which generates zero income, and translatable
@@ -42,7 +42,7 @@ field:
4242
size:
4343
Total size: {"zh-Hans": "总大小:", "zh-Hant": "總大小:"}
4444
bytes:
45-
- {"zh-Hans": "字节", "zh-Hant": "字節"}
45+
- {"zh-Hans": "字节", "zh-Hant": "位元組"}
4646
label:
4747
Flags set by the switch file while scanning %s: {"zh-Hans": "扫描%s时开关文件设置的标志:", "zh-Hant": "掃描%s時開關檔案設定的標誌:"}
4848
Generated by %s: "由%s生成"

src/Loader.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
* License: GNU/GPLv2
99
* @see LICENSE.txt
1010
*
11-
* This file: The loader (last modified: 2025.07.08).
11+
* This file: The loader (last modified: 2025.10.03).
1212
*/
1313

1414
namespace phpMussel\Core;
@@ -1137,7 +1137,7 @@ public function resolvePaths(string $Base, bool $LastIsFile = true, bool $GZ = t
11371137
preg_quote($Remainder) . ($LastStep ? preg_quote($LastStep) . ($GZ ? '(?:\.gz)?' : '') . '$' : '')
11381138
);
11391139
$Pattern = '~^' . preg_quote($BaseFrom) . $Steps . '~i';
1140-
$List = new \RecursiveIteratorIterator(new \RecursiveDirectoryIterator($BaseFrom), \RecursiveIteratorIterator::SELF_FIRST);
1140+
$List = new \RecursiveIteratorIterator(new \RecursiveDirectoryIterator($BaseFrom, \RecursiveDirectoryIterator::SKIP_DOTS), \RecursiveIteratorIterator::SELF_FIRST);
11411141
foreach ($List as $Name => $SplData) {
11421142
if (preg_match($Pattern, $Name) && ($Name = realpath($Name))) {
11431143
yield $Name;

src/Scanner.php

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
* License: GNU/GPLv2
99
* @see LICENSE.txt
1010
*
11-
* This file: The scanner (last modified: 2025.03.29).
11+
* This file: The scanner (last modified: 2025.10.03).
1212
*/
1313

1414
namespace phpMussel\Core;
@@ -378,9 +378,9 @@ public function directoryRecursiveList(string $Base, bool $Directories = false):
378378
{
379379
$Arr = [];
380380
$Offset = strlen($Base);
381-
$List = new \RecursiveIteratorIterator(new \RecursiveDirectoryIterator($Base), \RecursiveIteratorIterator::SELF_FIRST);
381+
$List = new \RecursiveIteratorIterator(new \RecursiveDirectoryIterator($Base, \RecursiveDirectoryIterator::SKIP_DOTS), \RecursiveIteratorIterator::SELF_FIRST);
382382
foreach ($List as $Item => $List) {
383-
if (preg_match('~^(?:/\.\.|./\.|\.{3})$~', str_replace('\\', '/', substr($Item, -3))) || !is_readable($Item)) {
383+
if (!is_readable($Item)) {
384384
continue;
385385
}
386386
if (is_dir($Item) && !$Directories) {
@@ -3381,7 +3381,7 @@ private function memoryUse(string $Path, int $Delete = 0, int $DeleteFiles = 0):
33813381
{
33823382
$Offset = strlen($Path);
33833383
$Files = [];
3384-
$List = new \RecursiveIteratorIterator(new \RecursiveDirectoryIterator($Path), \RecursiveIteratorIterator::SELF_FIRST);
3384+
$List = new \RecursiveIteratorIterator(new \RecursiveDirectoryIterator($Path, \RecursiveDirectoryIterator::SKIP_DOTS), \RecursiveIteratorIterator::SELF_FIRST);
33853385
foreach ($List as $Item => $List) {
33863386
$File = str_replace('\\', '/', substr($Item, $Offset));
33873387
if ($File && strtolower(substr($Item, -4)) === '.qfu' && is_file($Item) && !is_link($Item) && is_readable($Item)) {

0 commit comments

Comments
 (0)