Hello,
ich habe es Dir nun doch mal exemplarisch fertig gemacht udn ausprobiert.
Du musst Dir nur noch eine passende valide Seite drum herum schreiben und ein CSS dafür bauen.
<?php ### filelist_paginated.php ###
error_reporting(E_ALL);
#---- Parameter ------------------
$pfad = "C:/Programme/xampp";
$limit = 5;
#---- Scriptvariablen ------------
$_dateiarray = array();
$pfad = rtrim($pfad,'/').'/'; ## EINEN abschließenden Slash sicherstellen
if($ordner = opendir($pfad))
{
while(false!==($datei = readdir($ordner)))
{
## Anderenfalls würde auch beim Dateinamen '0' (null) abgebrochen werden
if(is_file($pfad.$datei))
{
## Damit Du Links und andere auch ausschließt.
## Wenn Du links zulässt, musst Du auf Rekursion prüfen, dann wirds erst
## richtig spanned
$_dateiarray[] = $datei;
}
}
closedir($ordner);
}
for debug use
#echo "<pre>\r\n";
#echo htmlspecialchars(print_r($_dateiarray,1));
#echo "</pre>\r\n";
Präventiv anzuzeigende Seite auf 0 setzen
$page = 0;
ausrechnen, welches die höchstmögliche Seitennummer ist
$maxpage = intval(count($_dateiarray)/$limit);
Wenn per GET eine Seitennummer übermittelt wurde, diese benutzten
if(isset($_GET['page']))
{
$page = intval($_GET['page']);
}
Die erlaubten Grenzen überprüfen
if ($page < 0) { $page = 0; }
if ($page > $maxpage) { $page = $maxpage; }
Start- und Stopgrenze ermitteln
$start = $page*$limit;
$stop = $start+$limit;
Ausgabe durchführen
echo " <ul class="filename">\r\n";
foreach($_dateiarray as $key => $val)
{
if($key >= $stop) { break; } ## Wenn Stopgrenez erreicht ist,. Schliefe abbrechen
if($key >= $start)
{
echo " <li class="filename">".htmlspecialchars($val)."</li>\r\n";
}
}
echo " </ul>\r\n";
Links aufbauen
echo " <ul class="pagelink">\r\n";
for ($i = 0; $i <= $maxpage; $i++)
{
echo " <li class="pagelink"><a href="{$_SERVER['SCRIPT_NAME']}?page=$i">".($i+1)."</a></li>\r\n";
}
echo " </ul>\r\n";
?>
Nun hoffe ich, dass Dir das weiter hilft.
Liebe Grüße aus Syburg
Tom vom Berg