Я кодирую простую систему веб-отчетов для своей компании. Я написал сценарий для index.php, который получает список файлов в каталоге «reports» и автоматически создает ссылку на этот отчет. Он работает нормально, но моя проблема здесь в том, что readdir() продолжает возвращать. и .. указатели каталога в дополнение к содержимому каталога. Есть ли способ предотвратить этот ДРУГОЙ, ЧЕМ цикл через возвращенный массив и удалить их вручную?PHP readdir() возвращает записи «.» И «..»
Вот соответствующий код для любознательных:
//Open the "reports" directory
$reportDir = opendir('reports');
//Loop through each file
while (false !== ($report = readdir($reportDir)))
{
//Convert the filename to a proper title format
$reportTitle = str_replace(array('_', '.php'), array(' ', ''), $report);
$reportTitle = strtolower($reportTitle);
$reportTitle = ucwords($reportTitle);
//Output link
echo "<a href=\"viewreport.php?" . $report . "\">$reportTitle</a><br />";
}
//Close the directory
closedir($reportDir);
достаточно простое решение. Я надеялся, что, возможно, есть опция параметра readdir, чтобы избежать этого, но я думаю, что нет. Этот вопрос получил около 5 одновременных ответов с почти таким же точным решением. Принимая это, потому что это было первым. – DWilliams
приятный и чистый пример +1 – Andrew