Hallo zusammen, bin neu hier und wie der nick vielleicht verrät noch relativer PHP-Newbie
eine Frage mal...
ich hab bisher eine HTML-Bildergalerie auf meiner Homepage gehabt die ich nun über PHP ansteuern will.
Folgende Struktur:
die Ordner in denen die Bilder liegen sind laufend durchnumeriert. In den einzelnen Ordnern liegen laufend durchnumerierte bilder; zusätzlich hierzu liegt im gleichen Ordner jeweils zum betreffenden Bild ein passendes Thumbnail. Also meinetwegen "20.img" und "20t.img".
Auf der Eingangsseite der Galerie möchte ich eine Anzahl Zufalls-Thumbnails zeigen, in diesem Fall derer sechs, die aus allen Dateien und allen Ordnern zufällig ausgewählt werden. So weit so gut, das Script funzt einigermaßen und liefert mir auch immer sechs verschiedene Thumbnails. Aber jetzt hab ich festgestellt, dass es dann Probleme gibt, wenn in der Durchnummerierung in einem Ordner ein Bild fehlt, d.h. wenn z.B. auf 20t.jpg das Bild 22t.jpg folgt.
Lange Rede gar kein Sinn, hier erstmal mein Script, mag sein dass es etwas konfus und redundant anmutet, seht es mir als Newbie bitte nach
Irgendwie scheint die Anweisung [COLOR=red]"if(file_exists($pfad))"[/COLOR] ins leere zu gehen.... oder doch nicht?! Wäre für ein wenig Denkanstöße dankbar. Wie gesagt, funzt eigentlich, nur das Problem mit "fehlenden Bildern" führt zu Aussetzern. Da ich im Anschluss an de Fertigstellung der Gallery noch einen Upload-Bereich machen wollte in dem ich auch einzelne bestehende Bilder löschen kann, ist es langfristig wohl nicht damit getan, die Bilder einfach umzubenennen um die Lücke zu schließen.
Grüße und vielen vielen Dank im voraus,
Parse_error
P.S.: ach ja, $dirs ist gegeben, wird ermittelt über eine auf der gleichen Seite stattfindende MySQL-Query da die Titel-Überschriften der einzelnen Teil-Galerien in ner Tabelle stehen.

eine Frage mal...
ich hab bisher eine HTML-Bildergalerie auf meiner Homepage gehabt die ich nun über PHP ansteuern will.
Folgende Struktur:
die Ordner in denen die Bilder liegen sind laufend durchnumeriert. In den einzelnen Ordnern liegen laufend durchnumerierte bilder; zusätzlich hierzu liegt im gleichen Ordner jeweils zum betreffenden Bild ein passendes Thumbnail. Also meinetwegen "20.img" und "20t.img".
Auf der Eingangsseite der Galerie möchte ich eine Anzahl Zufalls-Thumbnails zeigen, in diesem Fall derer sechs, die aus allen Dateien und allen Ordnern zufällig ausgewählt werden. So weit so gut, das Script funzt einigermaßen und liefert mir auch immer sechs verschiedene Thumbnails. Aber jetzt hab ich festgestellt, dass es dann Probleme gibt, wenn in der Durchnummerierung in einem Ordner ein Bild fehlt, d.h. wenn z.B. auf 20t.jpg das Bild 22t.jpg folgt.
Lange Rede gar kein Sinn, hier erstmal mein Script, mag sein dass es etwas konfus und redundant anmutet, seht es mir als Newbie bitte nach

PHP-Code:
//Array einrichten in das die Dateinamen
//der Zufallsbilder geschrieben werden
$bilder=array();
$count=0;
$count2=0;
//Schleife für den Aufruf von sechs Zufallsbildern
for ($i=1; $i<=6; $i++)
{
//Zufälliges Auswählen eines Dateiverzeichnisses
// und Zählen der enthaltenen Dateien
mt_srand((double)microtime()*1000000);
$zahl= mt_rand(1, $dirs);
$verz=opendir ("$zahl");
while ($zaehlen = readdir ($verz))
{
if($file != "." && $file != "..")
{
if (strstr($zaehlen, "t.jpg") == true)
{
$count++;
//Zufälliges Auswählen einer Datei
//im zufällig ausgewählten Verzeichnis
mt_srand((double)microtime()*1000000);
$zahlimg= mt_rand(1, $count);
$prefix="t.jpg";
$bild=$zahlimg.$prefix;
$pfad= "$zahl/$bild";
//Überprüfen ob es die Datei auch wirklich gibt
if (file_exists($pfad)) $count2++;
}
}
}
//Vergleich der sechs Bilder mit den Daten des Arrays um
//Doppelungen zu vermeiden
$zaehlen=count($bilder);
while ($zaehlen<=6 && in_array($pfad, $bilder) == false)
{
array_push($bilder, $pfad);
}
//Ausgabe der sechs Bilder in HTML-Code
echo"<tr><td bgcolor=\"#f0f8ff\" align=\"center\">
<a href=\"einzelbild.php?id=$zahl&img=$zahlimg&total=$count2\">
<img src=\"$zahl/$zahlimg"; echo"t.jpg\"></a></td></tr>
<td height=\"4\"><td></td></tr>";
//Dateiverzeichnis schließen und Zähler auf null setzen
closedir($verz);
$count=0;
$count2=0;
}
Grüße und vielen vielen Dank im voraus,
Parse_error
P.S.: ach ja, $dirs ist gegeben, wird ermittelt über eine auf der gleichen Seite stattfindende MySQL-Query da die Titel-Überschriften der einzelnen Teil-Galerien in ner Tabelle stehen.
Kommentar