scandir için PHP kılavuzu: By default, the sorted order is alphabetical in ascending order.
Ben (Windows) bir dosya tarayıcısı inşa ediyorum, yani adresleri bu subsetlerinde alfabetik sonra, klasör / dosyaya göre sınıflandırılmaktadır iade edilmesini istiyoruz.
Örnek: Şu anda, tarama ve çıkış
Aardvark.txt
BarDir
BazDir
Dante.pdf
FooDir
ben istiyorum
BarDir
BazDir
FooDir
Aardvark.txt
Dante.pdf
Other than a usort
ve is_dir()
çözüm strong> (Kendimi anlamaya), bunun için hızlı ve etkili bir yolu var mı?
this comment doğru yolda olduğunu yazdı ninja - en iyi yolu nedir?
UPDATE
Bu alex yöntemi, artı bir dosya filtre @, yardımcı varsa:
function globdir($filepath) {
$dirs = glob($filepath.'/*', GLOB_ONLYDIR);
$files = glob($filepath.'/*');
$all = array_unique(array_merge($dirs,$files));
$filter = array($filepath.'/Thumbs.db');
return array_diff($all,$filter);
}
Gerekirse, çağrı array_merge
bıraktığı boş anahtarlarını kaldırmak için nihai sonuçlar üzerinde array_diff
.