Bilder aus einem Verzeichnis auf verschiedene Seiten verteilen

VanHellsehn

Erfahrenes Mitglied
Hi,
Ich habe mal eine Frage.
Und zwar lasse ich meine Bilder mit folgendem Script auslesen. Nur ich weiß nciht wie ich sie auf verschiedene Seiten verteilen kann.
Bei einer MySql Tabelle weiß ich das aber so...

PHP:
<?php

$ordner = "Prebanner";
$handle = opendir($ordner);

while ($file = readdir ($handle)) {
if($file != "." && $file != "..") {
if(is_dir($ordner."/".$file)) {
echo "/".$file."<br/>";
} else {
// kompletter Pfad
$compl = $ordner."/".$file;
echo "<img src=\"".$compl."\" alt\"".$file."\"><br><br>";
}
}
}
closedir($handle);
 
Nachtrag:
Korrektur, man sollte vernünftigerweise den ganzen Text lesen.

Mach doch einen ganz simplen Counter:
PHP:
$start = $_GET['start']=='' ? 1:$_GET['start'];
$limit = 10;
$ordner =  'ordner';
$files = glob($ordner.'/*jpg*');
$counter = 0;
foreach($files as $file) {
	$counter++;
	if($counter < $start) continue;
	if($counter==$limit+$start) break;
	echo $file."<br>";
}
 
Hi,
Hättest dir den Code vorher mal angucken müssen.
Weil ich gebe nichts aus einer MySQL Tabelle aus sonder ich gebe Bilder aus einem Verzeichnis aus.
So einen Pager aus ner MySQL Tabelle kann ich auch selber schreiben das ist j anicht das Prob.
Nur ich weiß nicht wie ich es ohne MySQL maechn soll..
 
HI,
Leider kommt dort dieser Error :

Warning: Invalid argument supplied for foreach() in /usr/export/www/hosting/vanhellsehn/test/Test.php on line 7

PS: $ordner hab ich natürlich geändert....
 
Sowas in der Art, ok? Ausprobieren und debuggen, debuggen, debuggen.

PHP:
$start = $_GET['start']=='' ? 1:$_GET['start'];
$limit = 10;
$ordner =  'ordner';
$files = glob($ordner.'/*jpg*');

$overall = count($files);
$pages = floor($overall/$limit);

$counter = 0;
foreach($files as $file) {
    $counter++;
    if($counter < $start) continue;
    if($counter==$limit+$start) break;
    echo $file."<br>";
}  

for($i=0;$i<$pages;$i++) 
echo '<a href="?start='.($i*$limit).'">'.$i.'</a>';
 
Kann man die Bilder auch noch Sortieren lassen ?
Also nach nach oder Nummer ?

Ich hab mal Versucht es in einer Array zu speichern und dann zu stieren es klappte aber i.wie nicht.
Bzw. ich habe es nicht in einer Array speichern können.
 
Zuletzt bearbeitet:
Was meinst du mit, ich kann es nicht in einem Array speichern?

das was Glob zurückgibt ist doch bereits ein Array. Und per Basename kannst du auch die Files rausziehen, also 01_bild.jpg aus ./pathToYourPics/pic/01_bild.jpg. Wobei ein simpler sort($array) ausreichen müsste, wenn alle Bilder im selben Verzeichniss liegen.
 
1. Das klappt i.wie noch nicht ganz. Er berechnet die Seiten falsch. Klick doch mal hier. Da kann man als Start noch 30 eigeben und es kommen noch neue. Aber es steht kein link unten.

2. Kann man das nich noch i.wie in Seiten umrechnen ich meine das oben ?seite=1 steht ?
 
Zurück