KOMPOOS.NL

site index - PHP

home » manuals » php » site-index-script.html

sitemap


uitleg site index procedure

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 script voor de site index procedure


<?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'>&#9475;</tt>";
              }
              if (is_array($sfiles)) {
                  echo "&#9507;";
              } else {
                  echo "&#9495;";
              }
              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'>&#9475;</tt>";
                  }
                  if ($y == ($sizeof - 1)) {
                      echo "&#9495;";
                  } else {
                      echo "&#9507;";
                  }
                  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'>&#9475;</tt>";
          }
      }
  }
  maak_site_index($de_root);
  echo "</div>";
?>

een voorbeeld van een stylesheet voor de site index


<style type="text/css">
        .q{
                margin-right:40px}
        a:hover{
                color:#00aaaa;
                background:inherit}
        #uitlijnen{
                margin-left:100px}
</style>
Gebruik voor alle voorbeelden op de http://kompoos.nl een valide html5 pagina.