Я хочу перечислить все каталоги, подкаталоги и файлы, используя php.
Я попробовал следующий код. он возвращает все каталоги, подкаталоги и файлы, но он не отображается в правильном порядке.
Например, порядок по умолчанию: 1dir, 2dir, 7dir, 8dir, в то время как в браузере он показывает 1dir, 8dir, 7dir, 2dir, что неверно.
код:
function createDir($path = '.')
{
if ($handle = opendir($path))
{
echo "<ul>";
while (false !== ($file = readdir($handle)))
{if (is_dir($path.$file) && $file != '.' && $file !='..') {
printSubDir($file, $path);
}
else if ($file != '.' && $file !='..'){
$allowed = array('pdf','doc','docx','xls','xlsx','jpg','png','gif','mp4','avi','3gp','flv','mov','PDF','DOC','DOCX','XLS','XLSX','JPG','PNG','GIF','MP4','AVI','3GP','FLV','MOV','html','HTML','css','CSS','js','JS');
$ext = pathinfo($file, PATHINFO_EXTENSION);
if(in_array($ext,$allowed) ) {
$queue[] = $file;
}
}
}
printQueue($queue, $path);
echo "</ul>";
}
}
function printQueue($queue, $path)
{
sort($queue);
foreach ($queue as $file)
{
//printFile($file, $path);
}
}
function printFile($file, $path) {
echo "<li><a href=\"".$path.$file."\" target='_blank'>$file</a></li>";
}
function printSubDir($dir, $path)
{
echo "<li><span class=\"toggle\">$dir</span>";
createDir($path.$dir."/");
echo "</li>";
}
createDir($path);
?>
нужна помощь для исправления кода и отображения директории, подкаталога и файлов в правильном порядке.
У меня та же проблема при перечислении файлов каталога. Но я использовал DirectoryLister
Этот код очень полезен. Вы можете легко перечислить ваши файлы.
Вы можете реализовать это, выполнив следующие действия.
Я надеюсь, что это может помочь вам
Других решений пока нет …