Seite 1 von 1
Bilder aus Ordner auslesen und anzeigen?
Verfasst: Fr 29.Okt, 2021 08:39
von Icke
Hallo Leute,
ich habe probleme beim anzeigen von Bildern!? Ich kann doch nicht für jedes nicht vorhandene Bild ein ERROR.jpg hochladen!?
<?php echo "<table width='100%' cellpadding='2' cellspacing='2' height='100'><tr>";
include($_SERVER["DOCUMENT_ROOT"].'/includes/lang/'.$lang.'/wracks.inc');
$sql = ("SELECT * FROM `wracks` Where `last_up` ORDER BY RAND() DESC LIMIT 0,6");
if($result = mysqli_query($db, $sql))
{
while($row = $result->fetch_assoc())
{
$nr++;
$id = $row['id'];
echo "<td><a href='../wracks/detail.php?s=10&id=$id'><img src='../wracks/img/$id/$id.jpg' class='zoom' width='120' height='90'></a></td>";
}
if($nr==6)
{
echo "</tr><tr>";
$nr=0;
}
echo "</tr></table>";
}
?>
Re: Bilder aus Ordner auslesen und anzeigen?
Verfasst: Fr 29.Okt, 2021 17:15
von oxpus
Der Trick liegt in der Funktion
file_exists().
Damit lässt sich prüfen, ob eine Datei vorhanden ist.
Daraufhin kann man über eine passende Bedingung das Bild dann anzeigen, ansonsten eben ein alteratives Error-Bild.
Re: Bilder aus Ordner auslesen und anzeigen?
Verfasst: So 31.Okt, 2021 11:26
von Icke
Hallo Oxpus,
danke für deine Antwort.
Ja das kenn ich und habe diese auch schon geprüft. Keine Änderung. Habe diese Prüfung ausgeblendet!!!
$sql = ("SELECT * FROM `wracks` Where `last_up` ORDER BY RAND() DESC LIMIT 0,6");
if($result = mysqli_query($db, $sql))
{
while($row = $result->fetch_assoc())
{
$nr++;
$id = $row['id'];
$pic = "../wracks/img/".$id."/".$id." ";
/*
if(file_exists($pic)
{
*/
echo "<td><a href='../wracks/detail.php?s=10&id=".$id."'><img src='../wracks/img/".$id."/".$id.".jpg' class='zoom' width='120' height='90'></a></td>";
/*}
else{
echo "<img src='../wracks/no_pic.jpg' ";
}
*/
}
if($nr==6)
{
echo "</tr><tr>";
$nr=0;
}
echo "</tr></table>";
}
?>
Re: Bilder aus Ordner auslesen und anzeigen?
Verfasst: So 31.Okt, 2021 14:24
von oxpus
Fehlt hier nicht noch etwas, so wie z. B. die Dateiendung?

Re: Bilder aus Ordner auslesen und anzeigen?
Verfasst: Mi 03.Nov, 2021 16:23
von Icke
Hallo Oxpus,
habe die Endung eingefügt, danke.
jedoch wird nur eine weisse Seite gezeigt!?
Woran kann das liegen?

Re: Bilder aus Ordner auslesen und anzeigen?
Verfasst: Mi 03.Nov, 2021 18:01
von oxpus
Der Fehler müsste im Error-Protokoll deines Webservers zu finden sein.
Also error.log in der Regel.
Re: Bilder aus Ordner auslesen und anzeigen?
Verfasst: Do 04.Nov, 2021 13:13
von Icke
Hallo Oxpus,
habe die error.log auf dem Server durchsucht und mehrere Fehler gefunden und abgestellt.
Jetzt wird die Webseite Fehlerfrei angezeigt jedoch werden die error.jpg immernoch nicht dargestellt.
Suche weiter nach dem Fehler!!!

Re: Bilder aus Ordner auslesen und anzeigen?
Verfasst: Sa 06.Nov, 2021 06:40
von oxpus
Hilfe das hier weiter?
Code: Alles auswählen
$sql = ('SELECT * FROM `wracks` Where `last_up` ORDER BY RAND() DESC LIMIT 0,6');
if ($result = mysqli_query($db, $sql))
{
while ($row = $result->fetch_assoc())
{
$nr++;
$id = $row['id'];
$pic = '../wracks/img/' . $id . '/' . $id . '.jpg';
if (file_exists($pic))
{
echo '<td><a href="../wracks/detail.php?s=10&id=' . $id . '"><img src="' . $pic . '" class="zoom" width="120" height="90"></a></td>';
}
else
{
echo '<img src="../wracks/no_pic.jpg"';
}
}
if ($nr==6)
{
echo '</tr><tr>';
$nr=0;
}
echo '</tr></table>';
}
Re: Bilder aus Ordner auslesen und anzeigen?
Verfasst: Sa 06.Nov, 2021 09:07
von Icke
Hallo Oxpus,
danke für deinen Vorschlag!
Leider keine Änderung.

Re: Bilder aus Ordner auslesen und anzeigen?
Verfasst: Sa 06.Nov, 2021 15:05
von oxpus
Weiterhin nur eine leere Seite und in der error.log kein Eintrag?
Die Frage ist, ob jedes Bild denn tatsächlich in seinem eigenen Unterordner liegt.
Also immer:
/ wracks / img / Bild-ID / Bild-ID .jpg
Oder liegen alle Bilder unterhalb / wracks / img / ?
Re: Bilder aus Ordner auslesen und anzeigen?
Verfasst: So 07.Nov, 2021 16:40
von Icke
Hallo Oxpus,
also, schau bitte selbst rein.
http://wasserwelt.org
die Seite die erscheint ist "diese".

Re: Bilder aus Ordner auslesen und anzeigen?
Verfasst: So 07.Nov, 2021 17:08
von oxpus
Hm, das Problem könnte auch in der Konfiguration deines Webservers liegen.
Wenn ich den Link eines der nicht angezeigten Bilder direkt aufrufe, zum Beispiel
http://www.wasserwelt.org/wracks/img/69066/69066.jpg, wird sofort auf die URL
https://www.wasserwelt.org/error.php?404 weitergeleitet.
Das geschieht dann wohl auch für die Funktion file_exists(), da diese eine URL prüft und in Deinem Fall scheinbar auch ein Ergebnis zurück bekommt, also die Datei damit vermeintlich vorhanden ist, obwohl das gesuchte Bild weiterhin fehlt.
Dann kann das Error-Bild auch nicht angezeigt werden.
Wie machst Du das denn in der detail.php? Dort funktioniert es doch augenscheinlich und zeigt das Error-Bild an, wenn das gesuchte Bild fehlt.
Vielleicht hilft es, die Prüfung auf das Vorhandensein der Bilddateien mit
zu ändern in
Re: Bilder aus Ordner auslesen und anzeigen?
Verfasst: Mo 08.Nov, 2021 06:32
von Icke
Hallo Oxpus,
in der Detail.php frage ich ja nur ein Bild ab!
$bild = ("../wracks/img/$wrack_id/$wrack_id.jpg");
// Bilder aus Ordner abfragen
$dirname = ("../wracks/img/$wrack_id");
$ext = array("jpg"); //Dateitypen die _nur_ angezeigt werden sollen
$files = array();
if($handle = opendir($dirname)) {
while(false !== ($file = readdir($handle)))
for($i=0;$i<sizeof($ext);$i++)
if(strstr($file, ".".$ext[$i]))
$files[] = $file;
closedir($handle);
}
foreach ($files as $string)
$count = count($files);
$rand = array_rand($files,1);
// Ausgabe
if (file_exists($bild))
{
$bild_value = "<img src='$bild' width='512'>";
}
else
{
$bild_value = "<img src='../wracks/no_pic.jpg' width='512'>";
}
Re: Bilder aus Ordner auslesen und anzeigen?
Verfasst: Mo 08.Nov, 2021 06:39
von Icke
- !== false) Habe ich geändert jedoch keine Änderung!
Re: Bilder aus Ordner auslesen und anzeigen?
Verfasst: Mo 08.Nov, 2021 16:44
von oxpus
Da ist zunächst noch ein allgemeiner Fehler drinnen:
Ersetze mal bitte die Zeile
durch
Das Bild-Tag für das Fehlerbild war nicht korrekt definiert und innerhalb der geöffneten Tabelle sollte es ja auch angezeigt werden.
Dennoch sollte auch die Startseite das Bild dann genau so finden oder eben nicht, wie in der Detailansicht.
Hier bin ich ohne weitere Prüfmöglichkeiten überfragt, warum das so nicht klappt...
Re: Bilder aus Ordner auslesen und anzeigen?
Verfasst: Di 09.Nov, 2021 06:26
von Icke
Guten Morgen Oxpus,
Aufgabe geändert _ keine Änderung
was brauchst du zu weiteren Prüfen?
Re: Bilder aus Ordner auslesen und anzeigen?
Verfasst: Di 09.Nov, 2021 17:11
von oxpus
Wenn könnte ich nur direkt auf deinem Webspace prüfen, da man so nicht weiter prüfen kann, warum das Script weiterhin etwas findet, was nicht da ist.
Denn andernfalls würde ja die Bedingung auslösen und das Fehlerbild anzeigen.
Liegt an Dir, ob Du mich drauf lässt oder nicht.
Eines verstehe ich aber immer noch nicht:
Warum beschreibst Du die Pfade zu den Bildern mit "../" vorweg?
Liegen denn die Bilddateien, bzw. der Ordner wracks denn tatsächlich eine Ebene höher, als die Dateien der Domain?
Das kann ich mir eher nicht vorstellen.
Daher wäre der Pfad besser mal zu ändern von
nach
und das gleiche auch in den Bild-Links:
Code: Alles auswählen
echo '<td><a href="../wracks/detail.php?s=10&id=' . $id . '"><img src="' . $pic . '" class="zoom" width="120" height="90"></a></td>';
}
else
{
echo '<td><img src="../wracks/no_pic.jpg"></td>';
ersetzen durch
Code: Alles auswählen
echo '<td><a href="wracks/detail.php?s=10&id=' . $id . '"><img src="' . $pic . '" class="zoom" width="120" height="90"></a></td>';
}
else
{
echo '<td><img src="wracks/no_pic.jpg"></td>';
Alternativ könntest Du auch die Domain komplett davor setzen, wie das an anderer Stelle auf der Seite ebenfalls erfolgt.
Aber das ist alle Stochern im Trüben, da ich den Aufbau deiner Webpräsenz eben absolut nicht kenne; abgesehen von der öffentlich zugänglichen Webseite.
Re: Bilder aus Ordner auslesen und anzeigen?
Verfasst: Mi 10.Nov, 2021 09:27
von Icke
Hallo Oxpus,
habe das wie angegeben geändert, jedoch keinerlei Änderung.

Re: Bilder aus Ordner auslesen und anzeigen?
Verfasst: Mi 10.Nov, 2021 09:39
von oxpus
Mehr fällt mir dazu nicht mehr ein, ohne direkt auf deinem Webspace zu prüfen.
Mit meinen Ideen bin ich durch...
Re: Bilder aus Ordner auslesen und anzeigen?
Verfasst: Mi 10.Nov, 2021 16:38
von Icke
Danke für deine Ideen und Hilfe

Re: Bilder aus Ordner auslesen und anzeigen?
Verfasst: Mi 10.Nov, 2021 23:07
von oxpus
Die Frage ist immer noch, warum file_exists() "true" zurückliefert, auch wenn ein Bild nicht vorhanden ist.
Könnte es sein, dass dieses funktioniert?
Code: Alles auswählen
$pic = $_SERVER["DOCUMENT_ROOT"].'/wracks/img/' . $id . '/' . $id . '.jpg';
if (file_exists($pic))
Anstatt
file_exists() könnte auch
is_readable() verwendet werden.
Das Ergebnis wäre in diesem Anwendungsfall im Grunde das Gleiche.
Re: Bilder aus Ordner auslesen und anzeigen?
Verfasst: Do 11.Nov, 2021 16:58
von Icke
Hallo Oxpus,
HAPPY
Endlich!!! Gute Idee, danke.
Re: Bilder aus Ordner auslesen und anzeigen?
Verfasst: Do 11.Nov, 2021 18:21
von oxpus
Na bitte, wäre das auch geklärt.