// Файл: sitemap.php
// Назначение: построение карты сайта
// Каталог, с которого начинается построение карты
$beg_path = "C:\Program Files\Apache Group\Apache\htdocs\phprecipes";
// Файл с графическим изображением папки.
// Путь должен задаваться *относительно* корневого каталога сервера Apache
$folder_location = "C:\My Documents\PHP for Programmers\FINAL CHPS\graphics\folder.gif";
// Текст в заголовке окна
$page_name = "PHPRecipes SiteMap";
// В какой системе будет использоваться сценарий - Linux или Windows?
// (0 - Windows; 1 - Linux)
$using_linux = 0;
// Функция: display_directory
// Назначение: чтение содержимого каталога, определяемого параметром
// $dir1, с последующим форматированием иерархии каталогов и файлов.
// Функция может вызываться рекурсивно.
function display_directory($dir1, $folder_location, $using_linux, $init_depth) {
// Обновить путь
$dir .= $dir1;
$dh = opendir($dir);
while ($file = readdir($dh)) :
// Элементы каталогов "." и ".." не выводятся.
if ( ($file != ".") && ($file != "..") ) :
if ( $using_linux == 0 ) :
$depth = explode("\\", $dir);
else :
$depth = explode("/", $dir);
endif;
$current_depth = sizeof($depth);
// Построить путь по правилам используемой операционной системы.
if ($using_linux == 0) :
$tab_depth = $current_depth - $init_depth;
$file = $dir."\\".$file;
else :
$file = $dir."/".$file;
endif;
// Переменная $file содержит каталог?
if ( is_dir($file) ) :
$x = 0;
// Вычислить отступ
while ( $x < ($tab_depth * 2) ) :
print " ";
$x++;
endwhile;
print " ".basename($file)."
";
// Увеличить счетчик
// Рекурсивный вызов функции display_directory()
display_directory($file, $folder_location, $using_linux, $init_depth);
// Не каталог
else :
// Построить путь по правилам используемой
// операционной системы.
if ($using_linux == 0) :
$tab_depth = ($current_depth - $init_depth) - 2;
$x = 0;
// Вычислить отступ
while ( $x < (($tab_depth * 2) + 5) ) :
print " ";
$x++;
endwhile;
print "".basename($file)."
";
else :
print "".basename($file)."
";
endif;
endif; // Is_dir(file)
endif; // If ! "." or ".."
endwhile;
// Закрыть каталог
closedir($dh);
}
?>