Inhalt eines Ordners auslesen und anzeigen

fexx

Grünschnabel
Hi Leute,
wie kann ich den gesamten Inhalt eines Ordners auslesen lassen und danach anzeigen. Also so in etwa wie beim Apache wenn kein Standartdokument eingerichtet ist, dass er dann einfach alle Files anzeigt. Vielen Dank,
Felix.
 
originally from php.net/dir

Small script to list all files + size + date (like the DOS dir command)

//define the path as relative
$path = ".";

//using the opendir function
$dir_handle = @opendir($path) or die("Unable to open $path");

//make string with 70 spaces
$space=" ";

echo "<PRE>";
echo "Directory Listing of $path\n";
//running the while loop

while ($file = readdir($dir_handle)) {

// filename - output left-justified
$t="<a href=$file>$file</a>";
echo $t.substr($space,0,40-strlen($file)) ;

// filesize - output right-justified
$t=(filesize($file)/1024);
$t=sprintf("%01.2f",$t)."kb ";
echo substr($space,0,10-strlen($t)) . $t ;

// filedate - output left-justified
$t=date("d.M Y H:i:s", filemtime($file));
echo $t.substr($space,0,20-strlen($file)) ;
echo "\n";
}
//closing the directory
closedir($dir_handle);
echo "</PRE>";

/*edit
grmlgrmpf... wieder einer schneller... :)
edit*/
 
Zuletzt bearbeitet:
Tausend Dank, genau das was ich gesucht habe,


Vielen Dank für die schnelle Hilfe,
Fexx...
 
Zuletzt bearbeitet:
Also ich wollte das auch gerne benutzen, hab aber folgendes Problem:

Parse error: parse error, unexpected '/' in D:\http\upload\index.php on line 121

In Z. 121 wird der Pfad angeben:

$path = "./files/";

Ich hab schon mehrere Versionen davon ausprobiert, doch der Fehler kommt immer. Das Dir sieht so aus

[..]
[dir]files[/dir]
index.php
style.css

In der Index.php steht halt auch die Zeilte

$path = "./files/";

Wie Muss ich files jetzt da richtig eintragen? mit // oder ohen, mit . oder ohne?

Danke für eure HIlfe!
 
es geht viel einfacher:
Code:
<?
$i = 0;
$dir = dir("user/");
while($eintrag=$dir->read())
{
if($eintrag!="." and $eintrag!="..")
{
$temp[$i] = $eintrag;
$i++;
}
}
while($i>0)
{
$i--;
require("user/".$temp[$i]);
?>
das was hier steht wird für jede vorhandende datei geschrieben,
wenn du clever bist kannst du in einen table es untereinander einrichten etwas so:
<tr><td>haha</td></tr>
so das würde jetzt immer aneinander gesetzt werden, natürlich geht hier auch php, also if abfragen oder ausechos,
beenden tust du das ganze wieder per:
Code:
<?
}
?>

roy
 
Wie hoch ist die Belastung des Servers bei dieser Funktion? Mir scheint, dass wegen dem "Galeriescript", welches automatisch alle Ordner ausliest und die Bilder anzeigt (ohne Thumbs erstellen, nur dateinamen auslesen und übergeben), der Server etwas in die Knie geht. Da ich nicht der einzige auf dem Server bin, weiß ich auch nicht, ob es wirklich daran liegt.

Das Problem ist, dass sind schon so an die 300 Bilder pro Ordner und bei meinem "Homeserver" ist die Prozessorauslastung beim "rumklicken" bei etwa 6 %.
 
@ GeYe

Das Auslesen des Ordners solltest du nur einmal durchführen, beim ersten Mal. Anschließend solltest du die Dateinamen der Bilder in eine DB schreiben, um sie beim nächsten Mal direkt auslesen zu können :)

Gruß Kon
 
bspain ... hm... klingt auf jedenfall logisch von dir *hehe*, werde es dann wohl so machen müssen. War "nur" eine ABI-Page und da wollte ich nicht so viel Aufwand betreiben.

Danke G.eYe
 
Zurück