# Index of ....



## foxx21 (17. Juni 2002)

Hy Leutz!

Hab nur mal eine kleine Frage.

Ihr kennt bestimmt seiten wo man zu so einer weißen index site kommt,, Index of "irgendwas"!!

allso wo die ordner aufgelistet sind

will nur eine kleine fotosammlung online stellen für ein paar kumpels und ich denke das ist nicht schlecht das so zu lösen.
oder habt ihr andere vorschläge?

also wie mach ich das am besten.
den link vielleicht direkt zum ordner ? /images/party ??

-thx 

-greez


----------



## THE REAL TOOLKIT (17. Juni 2002)

die seiten werden automatisch generiert wenn sich in dem ordner kein index.html/htm/php/cgi/asp/shtml datei befindet
wie genau hängt mir der konfihurationn des servers zusammen


----------



## d4k4 (18. Juni 2002)

also könntest du ja ne weisse hmtl seite machen die ordner grafiken einbauen und die jeweilgen links dazu. baust es im prinzip nach.


----------



## Christoph (18. Juni 2002)

sowas nennt man *Directory listing*!

hängt vom Server ab. bzw kann man durch .htaccess unterbinden!


----------



## foxx21 (19. Juni 2002)

und wie??????????


erstens das und 2.tens


wie mach ich das dann wenn ich die site nachgebaut habe, is ja kein problem aber wo muss der link dan hingehen, ich habe jetzt einen ordner in dem nur fotos sind wenn ich den link folgend setzte 

...../party/ 

bekomm ich das diese seite nicht angezeigt werden kann, 

ich kenn da ein gutes beispiel das aber pw versehen ist und ich möchte das pw jetzt nicht hier reinposten vielleicht könnte sich jemand per icq melden 98130205 wär super

-greez


----------



## Christoph (20. Juni 2002)

ich glaube:

*directory listing* kann man nur unterbinden wenn es noch nicht den Webserver-Einstellungen her unterbunden worden ist.

aber aktivieren?!?! glaub ich nicht das das geht? erstell einfach mal nen ordner ohne default.htm, index.htm.......usw. einfach nur bilder. dann siehst du´s obs funzt!


----------



## foxx21 (24. Juni 2002)

nö geht nicht


----------



## Christoph (24. Juni 2002)

hast du´s vielleicht mit -htaccess unterbunden???

Schreib deinem WEBSPACE-Anbieter mal ne mail und frag wie´s da mit directory listing steht.

sonst kannst du´s ja immer noch selbst in HTML erstellen.


----------



## Marvin (26. Juli 2002)

wenn dein webserver php unterstützt füge folgenden code einfach in eine datei namens list.php, die in den ordner kopieren und auf die datei verlinken. oder kopiers in ne index.php die du da rein kopierst dann reicht es wenn du nur auf den ordner linkst.


```
<?
/***********************************
*  list.php - (c) 2002 by psycco   *
*          www.psycco.de           *
*                                  *
* This source is distributed under *
*  GNU/GPL General Public License  *
***********************************/

class _file {
   var $name;
   var $size;
   var $lastModified;
   var $isDir;
}

function getFileImage($filename) {

   // feel free to add more extensions,
   // a list of the standart icons shipped with
   // apache can be found in the /Apache/icons-folder
   // .. where is it on linux machines?

   $extension = '';
   for($i=strlen($filename);$i>0;$i--) {
      if($filename[$i] == '.') {
         $extension = strtolower(substr($filename, $i-strlen($filename)));
         break;
      }
   }

   if(is_dir($filename))
      return '/.icons/dir.gif';
   elseif($extension == '.gif' || $extension == '.png' || $extension == '.bmp' || $extension == '.jpg')
      return '/.icons/image2.gif';
   else if($extension == '.txt' || $extension == '.htm' || $extension == '.html' || $extension == '.css')
      return '/.icons/text.gif';
   elseif($extension == '.zip' || $extension == '.rar' || $extension == '.ace' || $extension == '.gz')
      return '/.icons/compressed.gif';
   elseif($extension == '.avi' || $extension == '.mov' || $extension == '.mpg' || $extension == '.mpeg' || $extension == '.divx')
      return '/.icons/movie.gif';
   elseif($extension == '.wav' || $extension == '.mp3' || $extension == '.snd')
      return '/.icons/sound2.gif';
   elseif($extension == '.exe')
      return '/.icons/binary.gif';
   else
      return '/.icons/unknown.gif';
}

function shorten($file) {
   if(strlen($file) > 23) {
      $retval = substr($file,0,20) . '..&gt;';
      return $retval;
   } else {
      return $file;
   }
}

function spaces($file) {
   $retvar = '';
   if(strlen($file) >= 23)
      return ' ';
   else {
      for($i=0;$i<(24-strlen($file));$i++)
         $retval .= ' ';

      return $retval;
   }
}

function _filesize($size) {
   if($size >= 1024)
      return bcdiv($size,1024,1).'k';
   elseif($size >= 1048576)
      return bcdiv($size,1048576,1).'M';
   elseif($size >= 1073741824)
      return bcdiv($size,1073741824,1).'G';
   else
      return $size;
}

function cmp ($a, $b) {
    global $sortBy, $order;
    if ($a->$sortBy == $b->$sortBy) return 0;
    return ($a->$sortBy > $b->$sortBy) ? $order : ($order*-1);
}

if($showsource <> 1) {

   $sortBy = '';
   $order = '';

   if(!isset($C) || $C == 'D') $C = 'N';
   if(!isset($O)) $O = 'A';

   if($C == 'N') $sortBy = 'name';
   if($C == 'M') $sortBy = 'lastModified';
   if($C == 'S') $sortBy = 'size';

   if($O == 'A')
      $order = 1;
   else
      $order = -1;

   // anybody knows how to get the description of the file?

   $files = Array();
   $dummy = new _file;
   $d = dir('.');
   $i = 0;

   while ($entry = $d->read()) {
      if($entry != '.' && $entry != '..' && $entry != substr($PHP_SELF,1) && substr($entry,0,1) != '.') {
         $dummy->name = $entry;
         $dummy->size = filesize($entry) ? filesize($entry) : '-';
         $dummy->lastModified = filemtime($entry);
         $dummy->isDir = is_dir($entry);

         $files[$i] = $dummy;

         $i++;
      }
   }

   $d->close();
?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
 <HEAD>
  <TITLE>Index of <? echo substr($PATH_INFO, 0, strlen($PATH_INFO)-strlen($PHP_SELF)+1); ?></TITLE>
 </HEAD>
 <BODY>
<H1>Index of <? echo substr($PATH_INFO, 0, strlen($PATH_INFO)-strlen($PHP_SELF)+1); ?></H1>
<PRE><IMG SRC="/.icons/blank.gif" ALT="     "> <A HREF="?C=N&O=<? if($O == 'A') echo 'D'; else echo 'A'; ?>">Name</A>                    <A HREF="?C=M&O=<? if($O == 'A') echo 'D'; else echo 'A'; ?>">Last modified</A>       <A HREF="?C=S&O=<? if($O == 'A') echo 'D'; else echo 'A'; ?>">Size</A>  <A HREF="?C=D&O=<? if($O == 'A') echo 'D'; else echo 'A'; ?>">Description</A>
<HR />
<IMG SRC="/.icons/back.gif" ALT="[DIR]"> <A HREF="..">Parent Directory</A>        <?=date('d-M-Y H:i', filemtime('..'))?>   -
<?

   usort($files, 'cmp');
   for($i=0;$i<count($files);$i++) {
      echo '<IMG SRC="'.getFileImage($files[$i]->name).'" ALT="[IMG]"> <A HREF="'.$files[$i]->name.'">'.shorten($files[$i]->name).'</A>'.spaces($files[$i]->name).date('d-M-Y H:i', $files[$i]->lastModified).'   '._filesize($files[$i]->size).'  '."\n";
   }

?>
<HR /></PRE>
<?

   echo substr($SERVER_SIGNATURE,0,strlen($SERVER_SIGNATURE)-11).' (powered by <a href="'.$PHP_SELF.'?showsource=1">list.php</a>)</address>';

?>
</BODY></HTML>
<?

} else {
   highlight_file('.'.$PHP_SELF);
}
?>
```

das script hat in nem anderen forum (www.planetquake.de um genau zu sein )jemand auf meine anfrage hin geschrieben. wenn dein webserver directory-listing von vornherein nicht unterstützt kann es sein dass die icons, die normalerweise in dem ".icons" ordner liegen nicht verfügbar sind. schau dir an wie sie heißen müssen und speicher sie einfach von ner anderen seite unter den namen ab. kopier sie in ein dir namens "icons", lads hoch und benenns dann um in ".icons"

so das war glaubich alles =)


----------

