Closed
Description
symfony 5
<?php
use Symfony\Component\Finder\Finder;
require_once getenv()['APPDATA'] . '/Composer/vendor/autoload.php';
function makeEmptyFile(string $path, int $size) {
$fp = fopen($path, 'w');
fseek($fp, $size-1, SEEK_CUR);
fwrite($fp,'a');
fclose($fp);
}
function createDir(string $path) {
if (! file_exists($path)) {
mkdir($path);
}
}
$tmp = getenv()['TEMP'];
createDir($tmp . '/finder');
createDir($tmp . '/finder/1');
createDir($tmp . '/finder/2');
makeEmptyFile($tmp . '/finder/1/a', 30);
makeEmptyFile($tmp . '/finder/1/b', 10);
makeEmptyFile($tmp . '/finder/2/c', 20);
makeEmptyFile($tmp . '/finder/2/d', 40);
$finder = new Finder();
$finder->files()
->in($tmp . '/finder/1')
->in($tmp . '/finder/2')
->sort(function (\SplFileInfo $a, \SplFileInfo $b) {
return ($a->getSize() <=> $b->getSize());
});
foreach ($finder as $file) {
dump($file->getRealPath());
}
result
^ "C:\Users\flip111\AppData\Local\Temp\finder\1\b"
^ "C:\Users\flip111\AppData\Local\Temp\finder\1\a"
^ "C:\Users\flip111\AppData\Local\Temp\finder\2\c"
^ "C:\Users\flip111\AppData\Local\Temp\finder\2\d"
expected result
^ "C:\Users\flip111\AppData\Local\Temp\finder\1\b"
^ "C:\Users\flip111\AppData\Local\Temp\finder\2\c"
^ "C:\Users\flip111\AppData\Local\Temp\finder\1\a"
^ "C:\Users\flip111\AppData\Local\Temp\finder\2\d"