Эта тема на forum.dklab.ru


DoCtOr_2: Названия файлов из папки в массив
Помогите с одной проблемой.

Есть массив $Langs. Он должен содержать информацию об установленных языках в папке langs/ по типу(russian.php, english.php и тд, при этом .php должно отсекатся).
И доступ должен производится по алфавитному порядку.
Скажем, e(nglish) стоит в англ. алфавите раньше чем r(russian), значит:
echo $Langs[1]; // "english"

Будьте добры, напишите код который делает это.
Заранее пасиба за помощь.
Алексей С.:
как то так, дальше сами додумаете

$lang = array();
if ($handle = opendir('.')) {
while (false !== ($file = readdir($handle))) {
if ($file != "." && $file != "..") {
$pos = strpos($file, '.');
if (substr($file, $pos+1, 3) == 'php') {
$key = $file{0};
$lang[$key] = $file;
}
}
}
closedir($handle);
}

Seva Isachenko:
А можно короче:
foreach (glob('langs/*') as $file) $langs[] = basename($file, '.php');

Advanced Guest:
Seva Isachenko,
glob вроде тормознее..
Seva Isachenko:
glob вроде тормознее..

Обход 30 файлов:
*dir: 0.0015 s
glob: 0.0024 s

Обход 700 файлов:
*dir: 0.06 s
glob: 0.16 s

Эта тема на forum.dklab.ru