• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Thumbnails einteilen?

Status
Für weitere Antworten geschlossen.

Schiwi

Neues Mitglied
ein hallo an alle,

ich brauch eure hilfe:

mit diesem code lass ich meine thumbnails anzeigen, da in dem ordner aber mittlerweile ne ganze menge bilder sind, dauert es natürlich ne halbe ewigkeit bis alle geladen sind. Also würd ich die gern einteilen,
z.B. am anfang die ersten 30 bilder, nach nem klick auf einen link die nächsten 30 bilder und so weiter usw.
Leider weiß ich nicht wie man das macht. :-|

PHP:
<?php

$pfad = "./";    // Pfad

$filehandle = opendir($pfad);    // Dateien auslesen Anfang

$x = 1;

while ($file = readdir($filehandle)) {

    if ($file != "." && $file != "..") {

      if(preg_match("/.(jpg|jpeg|gif|png)$/i", $file)){
        // Ausgelesene Bilder als Thumbnails ausgeben

//neu
echo "    <a href=\"$file\">"; 
echo "<img onmouseover=\"showtrail(250,300,'$file');\" onmouseout=\"hidetrail();\""; 
echo "src=\"$file\" style=\"padding-top: 10px;\" height=\"70\" width=\"55\" alt=\"$file\" title=\"$file\"></a>&nbsp;";


    //alt
    //echo "<a href=\"$file\"><img src=\"$file\" width=\"70\" height=\"45\" border=\"2\" alt=\"$file\" title=\"$file\"></a>";
      }
   }
}



 closedir($filehandle); 
?>
 
Mit der PHP-Funktion sleep() kann man die Anzeige verzögern, sozusagen PHP in einen Schlafmodus versetzen. Dies bewirkt aber eine künstliche Verzögerung des Seitenaufbaus.
Du kann natürlich auch die Bilder auf mehrere Seiten aufteilen.
 
Mit der PHP-Funktion sleep() kann man die Anzeige verzögern, sozusagen PHP in einen Schlafmodus versetzen. Dies bewirkt aber eine künstliche Verzögerung des Seitenaufbaus.
Du kann natürlich auch die Bilder auf mehrere Seiten aufteilen.

lol, noch langsamer wollt ich es eigentlich nicht machen :lol:

auf mehrere seiten aufteilen klingt schon eher nach meiner vorstellung. oft sieht man auf webseiten "Seite 1 von 6" , sowas such ich. wie mach ich das am besten?
 
Ich würde sagen, du nimmst anstatt der while-Schleife die for-Schleife und gibst an, dass nur 30 Mal durchlaufen werden soll.
 
hab etwas gegoogelt und eine blätterfunktion gefunden, fast so wie ich es mir vorstellte. Aber da ich von PHP kaum ne ahnung habe funktioniert es natürlich nicht, 10 einträge pro seite werden zwar angezeigt, aber keine Bilder :-?
ist jemand so nett und hat zeit und lust mir das script zu korrigieren?


PHP:
<?php
$pro="10";                # Einträge pro Seite

$pfad = "./";    // Pfad

$filehandle = opendir($pfad);    // Dateien auslesen Anfang

$k = 1;

while ($file = readdir($filehandle)) {

    if ($file != "." && $file != "..") {

      if(preg_match("/.(jpg|jpeg|gif|png)$/i", $file)){

    $bild[$k] = $file;
    $k++;

     // Ausgelesene Bilder als Thumbnails ausgeben
/*
echo "    <a href=\"$file\">"; 
echo "<img onmouseover=\"showtrail(250,300,'$file');\" onmouseout=\"hidetrail();\""; 
echo "src=\"$file\" style=\"padding-top: 10px;\" height=\"70\" width=\"55\" alt=\"$file\" title=\"$file\"></a>&nbsp;";
*/
      }
   }
}

// Wieviele Bilder befinden sich im Verzeichnis
$anzbilder = count($bild);
echo "<p>Im Ordner sind ".$anzbilder." Bilder<p></p>";



if($_GET['page'] == "" || $_GET['page'] == "bild") {

$datei = $file;
$anzahl = $anzbilder;


if($anzahl == 0) echo "<tr><td align=\"center\"><b>Keine Bilder vorhanden</b></td></tr>";
$pages = ceil($anzahl / $pro);

if($show == "") $show = 1;
$start = $show * $pro - $pro;
$end = $start + $pro;

if($end >= $anzahl) $end = $anzahl;



for ($i = $start; $i < $end ; $i++) {

echo "    <a href=\"$file\">"; 
echo "<img onmouseover=\"showtrail(250,300,'$file');\" onmouseout=\"hidetrail();\""; 
echo "src=\"$file\" style=\"padding-top: 10px;\" height=\"70\" width=\"55\" alt=\"$file\" title=\"$file\"></a>&nbsp;";


if($i < $anzahl-1) echo "<tr><td>&nbsp;</td></tr>\n";
}


echo "<br>\n";

if($pages > 1) {
echo "<table  cellpadding=\"2\" cellspacing=\"0\" align=\"center\" style=\"border-collapse: collapse\" bordercolor=\"#000000\"><tr><td align=\"center\">\n";
echo "Seite: \n";

for($x = 1; $x <= $pages; $x++) {
if($x == $show) echo "$x&nbsp;";
else echo "<a href=\"bild2.php?page=bild&show=$x\">$x</a>&nbsp;";
}

echo "<br><br>\n";
}
echo "<table  cellpadding=\"2\" cellspacing=\"0\" align=\"center\" style=\"border-collapse: collapse\" bordercolor=\"#000000\"><tr><td align=\"center\">\n";
echo "</td></tr></table>\n";
}


closedir($filehandle); 

?>
 
Zuletzt bearbeitet:
Status
Für weitere Antworten geschlossen.
Zurück
Oben