readdir & Seiten
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
bild
blabla
break
datei
funktion
laden
los
lsung
manual
meinung
mgliche befehle
naiver ansatz
ordner
relativ
schleifen
speicher
verzeichnis
-
Mit folgenden Code les ich die Dateinnamen aus ein Verzeichnis aus und packe sie in ein img-html-tag:
<?php $ordner=opendir("Ordner/"); $i = 1; while(($datei=readdir($ordner))!=false) { if($datei!="." && $datei!="..") { printf ("$i<br><img src=\"Ordner/$datei\" height=\"400\" width=\"400\"><br>"); $i = $i + 1; } } ?>
Im Ordner selbst sind natürlich nur Bilddatein.
Diese werden auch Sauber ausgegeben.
Das probelm ist nur das man 80 Bilder nicht einfach auf einmal ausgeben kann wenn jede so um die 300-600KB groß ist.
Natürlich könnte man jetzt sagen einfach Bilder bearbeiten doch bei 80-100 Bilder ist dies ziehmlich umständlich.
Also dachte ich an Seiten.
Mit den Seiten hab ich selbst kein Probelm, aber wie soll ich das machen das jeweils zb nur 10 Bilder auf einer Seite angezeigt werden?
Ich fordere keine Lösung sondern nur logische Ideen dazu und mögliche befehle.
Alles andere werd ich mir selbst dazu Lesen da ich der meinung bin das es nichts bringt etwa abzukopieren.
schön abend noch
LoS
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Ein naiver Ansatz wäre einfach zuerst einmal
for(i=0;i<(aktuelle_seite-1)*10;i++)readdir($ordner);
Zu machen, damit die Dateien auf den "vorherigen Seiten" einfach nacheinander verworfen werden.
Bei Dateizeigern gibt es eine Funktion namens fseek() , mit der man den Dateizeiger relativ elegant innerhalb einer Datei wandern lassen kann. Eine equivalente Funktion bei Verzeichniszeigern ist mir leider nicht bekannt. Damit wäre es aber eleganter lösbar, als mit einer for-Schleife.
Anschließend benutzt du dann:
$bildzahl=0;
while(($datei=readdir($ordner))!=false)
{
$bildzahl++;
printf ('blabla mit <img src="$datei und so...');
if($bildzahl==10)break;
}
Diese Schleife hat damit 2 Abbruchbedingungen: Entweder das 10. Bild wurde angezeigt, oder es gibt keine weiteren Bilder mehr im Verzeichnis. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage