# Web Folders



## JDietrich (30. März 2004)

Hallo Leute,

weis jemand von Euch, wie ein Web Folder in einer bestimmten Zelle anzeigen lassen kann? Geht das überhaupt?

Wenn ich mir den Web Ordner anzeigen lasse, schaut der auch nicht gerade sexy aus. Kann ich an dem Design wie der Web Ordner angezeit wird Änderungen vornehmen? Wie geht das?

Vielen Dank für Eure Hilfe.

LG Jörg


----------



## Sven Mintel (30. März 2004)

Hallo...

ein paar Sachen kannst du per .htaccess ändern, bspw. die Icons -->Infos dazu bei SelfHTML 

Wenn das nicht reicht, benötigst du eine serverseitige Skriptsprache, welche in der Lage ist, das Dateisystem auszulesen... bspw.PHP.
Da kannst du dann alles machen, wonach dein Herz begehrt, z.B. auch in einer Zelle ausgeben.


----------



## JDietrich (30. März 2004)

*Web Folders mit PHP*

Hallo,

kannst Du mir infos zu php geben, wie das ganze funktioniert oder wo man ein tutorial bekommen kann?

Ich möchte gerne meine webfolders wie folgt aufbauen:

1. Spalte = Symbol
2. Spalte = Dateiname
3. Spalte = Größe

LG

Jörg


----------



## Sven Mintel (30. März 2004)

Die entsprechende PHP-Methode heisst readdir()

Das liest dir alle Ordner/Dateien in einem Verzeichnis aus.... musst dann halt bei bei jedem noch Dateigrösse/Dateityp ermitteln und entsprechendes Icon ausgeben.


----------



## JDietrich (30. März 2004)

*Ist das Script so richtig*

Hallo,

das heisst ich muss z.B. das folgende Script in eine Zelle einer Tabelle einfügen und schon listet der mir da den Ordnerinhalt auf!?

Ich habe eine Beispieldatei angehangen, wie es bei mir momentan aussehen würde. Ist das so richtig, oder muss an dem Script noch was geändert werden?

LG

Jörg


----------



## Sven Mintel (30. März 2004)

Das .rar lässt sich nicht öffnen 

Hab mal schnell was gebastelt:

```
<?php
//Pfad zum Icon-Verzeichnis
$icoPath ="icos/";

//Dateityp der Icons
$icoType=".gif";

//Standardicon
$ico    ="standard";

//Eigene Icons
$icos=array();
$icos['folder'] =array('folder');
$icos['htm']    =array('htm','html');
$icos['txt']    =array('txt');
$icos['img']    =array('jpg','jpeg','gif','png');

function print_ico($i)
{
global $ico,$icoType,$icoPath,$icos;
$out=$ico;
foreach($icos as $key=>$arr)
    {
    if(in_array($i,$arr)){$out=$key;break;}
    }
echo '<br><img src="'.$icoPath.$out.$icoType.'"width="12">';
}
$doc_path='.';
echo '<br><b>Verzeichnisinhalt von: '.$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']).'</b>';
$handle = opendir($doc_path);
while ($file = readdir($handle))
    {
    if($file != "." and $file != "..")
       	{
       	if(is_dir($doc_path.'/'.$file))
            {
            print_ico('folder');
         	}
        else
            {
            print_ico(preg_replace("/^.+\./","",$file));
          	}
        echo '&nbsp;<a href="'.$doc_path.'/'.$file.'">'.$file.'</a>&nbsp;';
        if(!is_dir($doc_path.'/'.$file))
            {
            echo '('.(filesize($doc_path.'/'.$file)/1000).'kB)';
         	}
       	}
    }
closedir($handle);
?>
```
Das muss komplett dorthin, wo die Ausgabe erfolgen soll.

Dann musst du dir noch nen paar Icons basteln.

ein "standard.gif" ...das wird immer angezeigt, wenn kein anderes verfügbar ist.
ein "folder.gif".....wird bei Verzeichnissen angezeigt.
und dann noch soviel du willst, für jeden einzelnen Dateityp.

Die Icons für die einzelnen Dateitypen musst du dann noch in dem "icons[]"-Array eintragen... nach dem Schema:

$icos['dateiname des Icons ohne Erweiterung']=array('Dateityp1 bei welchem es angezeigt werden soll','dateityp2','usw....');


----------

