Plaats het onderstaande script op een php-pagina. Als je niets wijzigt in de broncode wordt er een site-index van jouw website gegenereert die er ongeveer zó uitziet. In deze "uitvoering" worden alleen html-files weergegeven. Maar vanzelfsprekend kan je elk file-type door het script laten tonen. Je vindt in de code een "ereg" met als parameter "html". Je kan dit wijzigen door b.v. "html|php|xml" er voor in de plaats te stellen. Er is ook een klein stylesheet toegevoegd (hieronder). Hierdoor is het mogelijk om de positie en het uiterlijk van het sitemap-gebeuren naar jouw hand te zetten. Experimenteer met de stylesheet om een voor jou werkbaar geheel te krijgen.
<?php
$de_root = getcwd();
$site_index_uri = explode("/", $REQUEST_URI);
array_pop($site_index_uri);
$pad_site_index = join("/", $site_index_uri);
echo "<div id='uitlijnen'>";
function maak_site_index($chdir)
{
global $de_root, $pad_site_index, $PHP_SELF;
unset($sdirs);
unset($sfiles);
chdir($chdir);
$self = basename($PHP_SELF);
$handle = opendir('.');
while ($file = readdir($handle)) {
if (is_dir($file) && $file != "." && $file != ".." && $file != "server" && $file != "help" && $file != "images" && $file != "DIRECTORY_DIE_JE_WILT_UITSLUITEN") {
$sdirs[] = $file;
} elseif (is_file($file) && $file != "FILE_DIE_JE_WILT_UITSLUITEN" && $file != "sitemap.html" && $file != "$self" && ereg("(html)$", $file)) {
$sfiles[] = $file;
}
}
$dir = getcwd();
$directory_1 = str_replace($de_root, "", $dir);
$tellen = substr_count($directory_1, "/");
if (is_array($sdirs)) {
sort($sdirs);
reset($sdirs);
for ($y = 0; $y < sizeof($sdirs); $y++) {
echo "<br />";
for ($z = 1; $z <= $tellen; $z++) {
echo "<tt class='q'>┃</tt>";
}
if (is_array($sfiles)) {
echo "┣";
} else {
echo "┗";
}
echo "$sdirs[$y]";
$cwd1[0] = $dir;
$cwd1[1] = $sdirs[$y];
$chdir = join("/", $cwd1);
maak_site_index($chdir);
}
}
chdir($chdir);
if (is_array($sfiles)) {
sort($sfiles);
reset($sfiles);
$sizeof = sizeof($sfiles);
for ($y = 0; $y < $sizeof; $y++) {
if (ereg("(html)$", $sfiles[$y])) {
echo "<br />";
for ($z = 1; $z <= $tellen; $z++) {
echo "<tt class='q'>┃</tt>";
}
if ($y == ($sizeof - 1)) {
echo "┗";
} else {
echo "┣";
}
echo "<a href=$pad_site_index$directory_1/" . str_replace('index.html', '', $sfiles[$y]) . ">$sfiles[$y]</a>";
}
}
echo "<br />";
for ($z = 1; $z <= $tellen; $z++) {
echo "<tt class='q'>┃</tt>";
}
}
}
maak_site_index($de_root);
echo "</div>";
?>
<style type="text/css">
.q{
margin-right:40px}
a:hover{
color:#00aaaa;
background:inherit}
#uitlijnen{
margin-left:100px}
</style>