Bilder aus Ordner auslesen und anzeigen?

Support für weitere IT-Themenbereiche
Antworten
Icke
Beiträge: 104
Registriert: So 20.Jun, 2021 16:15

Bilder aus Ordner auslesen und anzeigen?

Beitrag 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>";
}
?>
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Re: Bilder aus Ordner auslesen und anzeigen?

Beitrag 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.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Icke
Beiträge: 104
Registriert: So 20.Jun, 2021 16:15

Re: Bilder aus Ordner auslesen und anzeigen?

Beitrag 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>";
}
?>
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Re: Bilder aus Ordner auslesen und anzeigen?

Beitrag von oxpus »

Code: Alles auswählen

$pic = "../wracks/img/".$id."/".$id." ";
Fehlt hier nicht noch etwas, so wie z. B. die Dateiendung? :pfff
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Icke
Beiträge: 104
Registriert: So 20.Jun, 2021 16:15

Re: Bilder aus Ordner auslesen und anzeigen?

Beitrag von Icke »

Hallo Oxpus,

habe die Endung eingefügt, danke.

jedoch wird nur eine weisse Seite gezeigt!?

Woran kann das liegen? :eek:
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Re: Bilder aus Ordner auslesen und anzeigen?

Beitrag von oxpus »

Der Fehler müsste im Error-Protokoll deines Webservers zu finden sein.
Also error.log in der Regel.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Icke
Beiträge: 104
Registriert: So 20.Jun, 2021 16:15

Re: Bilder aus Ordner auslesen und anzeigen?

Beitrag 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!!! ?9
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Re: Bilder aus Ordner auslesen und anzeigen?

Beitrag 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>';
}
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Icke
Beiträge: 104
Registriert: So 20.Jun, 2021 16:15

Re: Bilder aus Ordner auslesen und anzeigen?

Beitrag von Icke »

Hallo Oxpus,

danke für deinen Vorschlag!

Leider keine Änderung. ?4
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Re: Bilder aus Ordner auslesen und anzeigen?

Beitrag 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 / ?
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Icke
Beiträge: 104
Registriert: So 20.Jun, 2021 16:15

Re: Bilder aus Ordner auslesen und anzeigen?

Beitrag von Icke »

Hallo Oxpus,

also, schau bitte selbst rein. http://wasserwelt.org
die Seite die erscheint ist "diese". :eek:
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Re: Bilder aus Ordner auslesen und anzeigen?

Beitrag 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

Code: Alles auswählen

if (file_exists($pic))
zu ändern in

Code: Alles auswählen

if (file_exists($pic) !== false)
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Icke
Beiträge: 104
Registriert: So 20.Jun, 2021 16:15

Re: Bilder aus Ordner auslesen und anzeigen?

Beitrag 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'>";
}
Icke
Beiträge: 104
Registriert: So 20.Jun, 2021 16:15

Re: Bilder aus Ordner auslesen und anzeigen?

Beitrag von Icke »

- !== false) Habe ich geändert jedoch keine Änderung!
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Re: Bilder aus Ordner auslesen und anzeigen?

Beitrag von oxpus »

Da ist zunächst noch ein allgemeiner Fehler drinnen:
Ersetze mal bitte die Zeile

Code: Alles auswählen

echo '<img src="../wracks/no_pic.jpg"';
durch

Code: Alles auswählen

echo '<td><img src="../wracks/no_pic.jpg" /></td>';
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...
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Icke
Beiträge: 104
Registriert: So 20.Jun, 2021 16:15

Re: Bilder aus Ordner auslesen und anzeigen?

Beitrag von Icke »

Guten Morgen Oxpus,

Aufgabe geändert _ keine Änderung ?9

was brauchst du zu weiteren Prüfen?
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Re: Bilder aus Ordner auslesen und anzeigen?

Beitrag 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

Code: Alles auswählen

$pic = '../wracks/img/' . $id . '/' . $id . '.jpg';
nach

Code: Alles auswählen

$pic = 'wracks/img/' . $id . '/' . $id . '.jpg';
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.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Icke
Beiträge: 104
Registriert: So 20.Jun, 2021 16:15

Re: Bilder aus Ordner auslesen und anzeigen?

Beitrag von Icke »

Hallo Oxpus,

habe das wie angegeben geändert, jedoch keinerlei Änderung. ?9
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Re: Bilder aus Ordner auslesen und anzeigen?

Beitrag von oxpus »

Mehr fällt mir dazu nicht mehr ein, ohne direkt auf deinem Webspace zu prüfen.
Mit meinen Ideen bin ich durch...
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Icke
Beiträge: 104
Registriert: So 20.Jun, 2021 16:15

Re: Bilder aus Ordner auslesen und anzeigen?

Beitrag von Icke »

Danke für deine Ideen und Hilfe :)
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Re: Bilder aus Ordner auslesen und anzeigen?

Beitrag 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.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Icke
Beiträge: 104
Registriert: So 20.Jun, 2021 16:15

Re: Bilder aus Ordner auslesen und anzeigen?

Beitrag von Icke »

Hallo Oxpus,

HAPPY :) ;) :hurra:

Endlich!!! Gute Idee, danke.
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Re: Bilder aus Ordner auslesen und anzeigen?

Beitrag von oxpus »

Na bitte, wäre das auch geklärt.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Antworten