-
directory paging
ciao a tutti ho trovato questo script per impaginare direttamente da una directory
Codice PHP:
$handle = opendir('cartella');
echo "<b>File:</b></br>";
while (false !== ($file = readdir($handle))) {
$array[] = $file;
}
closedir($handle);
if(isset($_GET['start'])) {$start=$_GET['start'];} else {$start=1;}
$maxrecord=1; // numero righe per pagina
$tot = count($array); // numero totali di file nella directory
for($i=$start; $i<$start+$maxrecord; $i++) {
echo"<img src='trofei/$array[$i]' width='40px height='40px' /><br> ";
}
echo "<br><br>";
if($tot > $maxrecord) {
// crea link per accedere ad ogni pagina
$self = $_SERVER['PHP_SELF'];
$maxPage = ceil($tot / $maxrecord); // numero totali di pagine da visualizzare
for($page = 1; $page <= $maxPage; $page++) {
$start = $page * $maxrecord;
echo " <a href=$self?start=".($start-$maxrecord).">".$page."</a> "; }
}
il problema è che nella cartella ho 4 immagini e nell impaginazione me ne dà 6..... qualcuno può spiegarmi perche succede questo.....??? :(
-
Ne stampa 6 perché readdir oltre che a recuperare i nomi dei file presenti nella cartella aggiunge i percorsi relativi . (directory locale) e .. (directory superiore).
Per risolvere puoi aggiungere un controllo, come viene fatto qui: http://php.net/manual/en/function.re...p#example-2158; oppure puoi usare, molto più semplicemente, la funzione glob (recuperando solo i file con determinate estensioni).
-
ciao javascripter ora funziona però ho notato che i files della cartella vengono inseriti alla rinfusa :S come dovrei fare se voglio ordinarli diciamo in ordine cronologico cioè dal primo upload all ultimo?
-