Archiv verlassen und diese Seite im Standarddesign anzeigen : anzahl der verzeichnisse zählen
Hallo,
mit folgendem script kann ich alle Ordner anzeigen, jetzt würde ich diese gerne zählen, und evtl auch die im 2ten Unterverzeichniss vorhandenen .png dateien.
ein count($file2) bringt mir nur jede menge 1sen
foreach (range('a', 'z') as $letter) {
$pfad="images/$letter/";
$verz=opendir ($pfad);
while ($file = readdir ($verz))
{
$file2 = ereg_replace ("(\\[)(.*)","",$file);
$file2 = ereg_replace ("(\\()(.*)","",$file2);
$file2=trim($file2);
echo "<br>";
echo $file2;
}
}
closedir($verz);
quinte17
15-08-2005, 09:54
wie wäre es, wenn du deine verzeichnisse in ein array reinschreibst, also jeder ordner ein element, ist echt einfach:
foreach (range('a', 'z') as $letter) {
$pfad="images/$letter/";
$verz=opendir ($pfad);
$ordner;
while ($file = readdir ($verz))
{
$file2 = ereg_replace ("(\\[)(.*)","",$file);
$file2 = ereg_replace ("(\\()(.*)","",$file2);
$file2=trim($file2);
echo "<br>";
echo $file2;
$ordner[] = $file2;
}
echo "<br>Anzahl der ordner: ".sizeof($ordner)."<br>";
}
closedir($verz);
dass mit den png-dateien musst du eigentlich synchron machen.. außer du weißt einen shell-befehl, der dir das gibt, und du den mit exec dort ausführen kannst...
greetz
greetz
cool danke, siteof war ungefähr das was ich gesucht habe, als newbie hatte ich versucht mit return $file2, ein array zu übergeben :(.
Jetzt müssen erstmal die punkte weg.
danke
cool danke, siteof war ungefähr das was ich gesucht habe, als newbie hatte ich versucht mit return $file2, ein array zu übergeben :(.
Jetzt müssen erstmal die punkte weg.
danke
edit:
eine kleine änderung da ich noch die Ordner mit zahlen eingebaut habe.
//foreach (range('a', 'z') as $letter) {
$abz = array(1,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u, v,w,x,y,z);
for ($j = 0; $j <= 26; $j++) {
$pfad="images/$abz[$j]/";
$verz=opendir ($pfad);
$ordner;
$shots;
while ($file = readdir ($verz))
{
if($file != "." && $file != "..")
{
$file2 = ereg_replace ("(\\[)(.*)","",$file);
$file2 = ereg_replace ("(\\()(.*)","",$file2);
$file2=trim($file2);
$ordner[] = $file2;
//echo $file2;
//zählt die png dateien
$einzel = opendir ("$pfad/$file/shots");
while ($file3 = readdir ($einzel))
{
if($file3 != "." && $file3 != "..")
{
//echo $file3;
//echo "<br>";
$shots[] = $file3;
}
}
}
}
}
closedir($verz);
Hi,
kann mir jemand sagen, wie Apache das macht mit dem "Ordnerauslesen" und dann darauf verlinken?
Habt ihr ein bsp. Script???
Bin noch am Googlen!
Gruß
Maik
michael.sprick
15-08-2005, 12:02
Willst Du jetzt wissen, wie das Listing implementiert wurde oder wie man es aktiviert?
zum aktivieren;
Options +Indexes
und ggf.
IndexOptions FancyIndexing
bzw.
FancyIndexing on
nee, ich meine das so, wie lesen die das Verzeichnis (localhost) aus und geben alle darin enthaltenen Ordner/Datein mit einem Link darauf aus?
Dort steht ja dann:
Name1 größe datum ...
Name2 " " ...
usw.
und alles ist verlinkt.
Wie geht das?
Maik
michael.sprick
15-08-2005, 14:29
Also das hat mit PHP garnix zu tun... wie das jetzt genau implementiert ist kannst du ja im apache quellcode nachschauen...
grundsätzlich ist der Ablauf:
1) angeforderten Ordner öffnen
2) gesamten Inhalt lesen
3) Icon je nach Typ des Eintrags festlegen (Dir, MPG, JPG, HTML,...)
4) stat() für den Eintrag aufrufen um Details zu ermitteln
5) Inhalt als HTML darstellen
Powered by vBulletin® Version 4.2.5 Copyright ©2025 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.