Доброго времени суток. В общем есть такой вот код, который выводит файлы в папке upload/Группа/Логин. Но если в папке Логин есть еще папки, то он и их выведет (а нужно только файлы).
PHP:
скопировать код в буфер обмена
$dir = "upload/".$array2["group"]."/".$array2["login"]."/"; echo $dir; { $files = scandir($dir); //сканируем (получаем массив файлов) for($i=0; $i<sizeof($files); $i++) { if($array !== false) { } else { $s = ''; } echo '<a href="'.$dir.$files[$i].'" title="Скачать файл"> '.$files[$i].'<br></a> '.$s.' '; } }
Знаю, что можно рекурсией (но как правильно сделать так и не понял). Собственно говоря нашел вот такой код с рекурсией, но как адаптировать не знаю.
PHP:
скопировать код в буфер обмена
function glob_recursive($dir, $mask){ foreach(glob($dir.'/*') as $filename){ if(is_dir($filename)) glob_recursive ($filename, $mask); } } glob_recursive("upload/".$array2["group"]."/".$array2["login"]."/", ".doc");
Ругается на строчки function glob_recursive($dir, $mask){ с ошибкой Fatal error: Cannot redeclare glob_recursive() (previously declared in ). И на foreach(glob($dir.'/*') as $filename){ с ошибкой (Warning: Invalid argument supplied for foreach() in
И как изменить в маске, чтобы искал не только форматы .doc, но и .docx?
|