Листинг директорий : как приписыать скрипту постоянно меняющийся путь к файлу? и т.д.
Листинг директорий : ищет файлы и папки в определенной папке.
Не получается сделать, чтобы открывал найденные папки и искал в них файлы.
PHP код:
<?php
$mas_dir[0] = '/'; // папка в которой искать.
$i=0; //счетчики равны нулю : кол-во найденных папок.
$td=0; //временная переменная для найденных папок.
$tf=0; //счетчики равны нулю : кол-во найденных файлов.
while (true == isset($mas_dir) ) //пока есть папки в папках, ищем.
{
//в директории
$mas_dir[$i] = opendir(''.$mas_dir[$i].''); // здесь указывается путь к вновь найденной папке.
$td=$i; //временная переменная
while (true == ($file = readdir($mas_dir[$i])))
{
if ($file != "." && $file != "..")
if (is_dir($file) == true ) { $td=$td+1; $mas_dir[$td]=$file; };
if (is_file($file) == true ) { $mas_file[$tf]=$file; $tf=$tf+1; };
};
closedir($mas_dir[$i]);
$i=$td; //временная переменная
//вывод на экран
for ($is=0; $is<count($mas_dir); $is++) echo "Dir $is $mas_dir[$is] <br>";
for ($is=0; $is<count($mas_file) ; $is++) echo "File $is $mas_file[$is] <br>";
//если ещё есть папки, то
if (true == isset($mas_dir[$i+1] ) )
{ array_shift($mas_dir); //удаляем первый элемент массива
$i=$i-1; //уменьшаем указатель на единицу
}
else break; если нет, то заканчиваем работу.
}
?>
Если в папке найдены папки, то скрипт продолжает работу, копирую названия найденных папок в массив $mas_dir[] . Как только скрипт переберет все папкипройдет по всм папкам он закончит работу. Все найденные файлы, перемещаются в массив $mas_file[].
При нахождении новых папок, нужна указывать путь к папке (в выделенной строке. Но функция getcwd определяет путь, в котором работает скрипт.
Как определять путь к найденной папке, чтобы открыть её? И как прописывать постоянно меняющийся путь к вновь найденным папкам в папках (см. выделенную строку)?
|