Я ищу лучший способ перебрать папку и поместить все имена файлов внутри нее в массив, а в другом - количество файлов.
Я нашел glob()
какхорошее решение, но также есть много альтернатив для него на php.net.Я не уверен, что мне следует использовать, поэтому я спрашиваю здесь.Если вам интересно, что я хочу использовать, это получить все файлы .sql
в папке backup
, отобразить их как <li>thesqlfile.sql</li>
и подсчитать их все тоже.
Так что я подумал о том, чтобы иметь два массива, один с их именами и один с подсчетом всех их.Так что в этом случае какой метод лучше всего подходит для итерации?
Метод I:
<?php
$files = array();
foreach (glob("backup/*.txt") as $filename) {
$files[]= $filename;
}
$count = sizeof($files);
?>
Метод II:
function getfoldercontents($dir, $file_display = array(), $exclusions = array()) {
if(!file_exists($dir)){
return FALSE;
}
$dir_contents = scandir($dir);
$contents = array();
foreach ($dir_contents as $file){
$file_parts = explode('.', $file);
$file_type = strtolower(end($file_parts));
if ($file !== '.' && $file !== '..' && in_array($file_type, $file_display) && !in_array($file, $exclusions)) {
$contents[] = $dir. '/'. $file;
}
}
return $contents;
}