Finder – řazení souborů do pole

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
batko
Člen | 219
+
0
-

Ahoj,

jak Finder řadí soubory? Mám složku kde mám 1.jpg, 2.jpg, 3.jpg, ale výsledné pole není správně seřazené

<?php
foreach (Finder::findFiles('*')->from("photos/" . $id) as $key => $file) {
	$this->photos[] = $key;
}

// výsledek
array(
	"0" => "photos/1/1.jpg",
	"1" => "photos/1/3.jpg",
	"2" => "photos/1/4.jpg",
	"3" => "photos/1/2.jpg",
);
?>

na locale ok, na serveru ne…

dá se to nějak nastavit?

Děkuji

Editoval Jan Tvrdík (12. 8. 2014 22:45)

japlavaren
Člen | 404
+
0
-

predpokladam, ze ti ich radi takto:
[1, 10, 11, 12, 2, 3, 4] co je dane zoradovanim systemu

co presne potrebujes riesit, pretoze ak potrebujes poradie suborov nacitanych z file systemu tak mas asi zly navrh

batko
Člen | 219
+
0
-

Aktualizoval jsem původní otázku.

Editoval Jan Tvrdík (12. 8. 2014 22:46)

Jan Tvrdík
Nette guru | 2595
+
+4
-

Finder interně používá RecursiveDirectoryIterator, který nepodporuje řazení. Nic ti ale nebrání seřadit si nalezené výsledky ručně.

$files = iterator_to_array(Finder::findFiles('*')->from("photos/" . $id));
ksort($files);