|
|
|
| Существует функция
<?php
function readd($dir)
{
if ($handle = opendir($dir))
{
while (false !== ($file = readdir($handle)))
{
if (is_file($file))
{
echo $dir.'/'.$file.'<br />';
}
if (is_dir($file) && $file != '.' && $file != '..')
{
echo $dir.'/'.$file.'<br />';
}
}
closedir($handle);
}
}
$dir = dirname($_SERVER['SCRIPT_FILENAME']);
readd($dir);
?>
|
Выводит названия всех файлов и папок из текущего каталога, где находится сам скрипт.
Проблема в можернизации этого кода, чтоб выводились не только эти данные, но и включая все подкаталоги тоже. Т.е. иными словами выводился полный список файлов и каталогов (включая подкаталоги).
Если поможете буду благодарен :) | |
|
|
|
|
|
|
|
для: FanPHP
(19.10.2005 в 21:00)
| | Хм... но этот скрипт и выводит как файлы, так и подкаталоги... в чём проблема? Или нужны и вложенные директории тоже? | |
|
|
|
|
|
|
|
для: cheops
(20.10.2005 в 00:26)
| | Да, нужны. Т.е. чтоб функция всё точно также выводила, включая подкаталоги относительно каталога в котором размещён скрипт. | |
|
|
|
|
|
|
|
для: FanPHP
(20.10.2005 в 12:34)
| | Можно воспользоваться следующим скриптом
<?php
scan_dir("scripts");
//////////////////////////////////////////////////////////
// Рекурсивная функция - спускаемся вниз по каталогу
//////////////////////////////////////////////////////////
function scan_dir($dirname)
{
// Открываем текущую директорию
$dir = opendir($dirname);
// Читаем в цикле директорию
while (($file = readdir($dir)) !== false)
{
// Если файл обрабатываем его содержимое
if($file != "." && $file != "..")
{
echo $dirname."/".$file."<br>";
if(is_dir($dirname."/".$file))
{
scan_dir($dirname."/".$file);
}
}
}
// Закрываем директорию
closedir($dir);
}
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(20.10.2005 в 21:04)
| | Спасибо :)
Действительно, всё гениальное просто!
Только (для возможно будущих читателей темы) поправка:
scan_dir($dirname."/".$file);
|
| |
|
|
|
|
|
|
|
для: FanPHP
(21.10.2005 в 06:14)
| | Ага, поправлю, а то ведь никто ниже никогда не читает :))) | |
|
|
|