Frage von SSxBaumxSS, 59

Wie kann man mit PHP Bilder anzeigen lassen?

Ich verwendete in dem Script (php datei [index.php] ) für meine Website den Befehl:

<?php echo '<img src= "/db/pics/bild.jpg">'; ?>

Mit diesem wird aber nur das Simbol für ein Bild ausgegeben und nicht das Bild selbst. Wenn ich das Format der Datei allerdings in "HTML" ändere, werden die Bilder wieder angezeigt und ich verstehe nicht warum es mit PHP nicht geht. PHP wollte ich übrigens wegen des include Befehls nutzen um die index Datei aufzusplitten. Sitze nun schon seit 4 1/2 Stunden an diesem Problem....(Ja auch mit Google.)

Ich danke schon mal vielmals für die Hilfe!!!

Hilfreichste Antwort - ausgezeichnet vom Fragesteller
von mastema666, 34

Das sieht grundsätzlich ok aus wie du das da gemacht hast, kann grad keinen Fehler entdecken, das Bild existiert dort aber auch? Weil wenn dort dieses "Symbol für ein Bild" zu sehen ist, lässt das eigtl darauf schließen, dass der Code ok ist und nur das Bild unter dem angegebenen Pfad nicht gefunden wurde.

Ansonsten poste doch vielleicht mal den kompletten Code deiner index.php, vielleicht liegt das eigentliche Problem ja gar nicht direkt bei der Ausgabe des img-Tags sondern ganz wo anders (den Code am besten nicht direkt hier posten, sondern z.B. auf http://hastebin.com/ oder so und hier nur verlinken, GF hat nämlich gern mal so seine Probleme mit der Darstellung von gepostetem Code).

Du musst sowas übrigens nicht unbedingt per "echo" ausgeben, vor allem bei längeren html-Passagen, in denen man keine Variablen oder sonstige PHP Funktionen benötigt, ist es imho einfacher (und übersichtlicher, man muss nichts zusätzlich escapen etc) das so in der Art machen:

<?php
// PHP Code hier
?>
<img src="/pfad/zum/bild.jpg" alt="Ein Bild">
<?php
// noch mehr PHP Code
....
Kommentar von SSxBaumxSS ,

Das ist der Code für die Website (nur die hauptseite)

http://hastebin.com/fotetewohe.xml

Und ja die Bilder existieren. Ich hab auch mal den kompletten Pfad probiert aber selbst dann wird das Bild nicht erkannt :/ 

Kommentar von mastema666 ,

Dort hast du im src-Attribut des img-Tags ein $ vor dem Bildpfad und auch wennnLeerzeichen in Dateinamen theoretisch funktionieren, sollte man das möglichst vermeiden.

Und das andere Bild oben, also das mit rein HTML im "Titel" div funktioniert? Da hast du jedenfalls einen relativen Pfad angegeben im Gegensatz zu der PHP Ausgabe, also ggf beim PHP auch mal einen relativen benutzen (den / am Anfang weglassen).

Leerzeichen zwischen = und " würde ich btw auch weglassen (sollte zwar funktionieren, aber ist imho einfach bisl unschön^^).

Kommentar von SSxBaumxSS ,

Achso ja das hab ich in einem anderen Forum gefunden... Hatte aber eigentlich auch nix verändert ^^''

Nein, leider funktioniert kein einziges Bild... :/ 
Und das slash hab ich auch schon weggelassen gehabt, aber hat auch nicht funktioniert :/

Alles klar mach ich :) 

Kommentar von SSxBaumxSS ,

Das waren unter anderem die häufigsten Schreibweisen die ich im Netz fand. Aber keine einzige hatte funktioniert. Ob nun mit kompletter Pfadangabe oder der kurzen.....

http://hastebin.com/rilifajava.php

Kommentar von mastema666 ,

Also vom Prinzip her müssten die alle funktionieren...

Und wenn du im Browser das "/index.php" durch z.B. "/oldfashioneddb/pics/Old%20Couple.jpg" ersetzt (und Enter drückst), dann wird das Bild angezeigt?

Kommentar von SSxBaumxSS ,

Oh man ey.... Ich hab den Fehler gefunden....Ich dachte ich hätte es schon überpfüft gehabt aber der Pfad war einfach nur falsch angegeben.... Logikfehler... Es funktioniert jetzt! Vielen dank für die Hilfe! (Um fast 2 Uhr ^^'' )

Antwort
von triopasi, 42

Was meinst du mit "bild ausgeben"? Als würde man auf abc.de/bild.png gehen? Dann leite doch einfach auf die Seite um, entweder mit dem entsprechenden meta Tag oder mit dem header redirect.

Kommentar von SSxBaumxSS ,

Naja ich meine, dass das Bild einfach auf der Seite mit dem Text angezeigt wird. Es soll jetzt keine Diashow oder ähnliches sein, sondern einfach als Dekoration dienen.

Was genau meinst du mit "meta tag" und "header redirect"? Hab gerade erst damit begonnen mich mit HTML, CSS und PHP zu beschäftigen :/ 

Antwort
von LiFe0, 27

Also ich kann mir durch deine frage nur 2 szenarien vorstellen: 1. Du bist am anfang des programmierens und willst einfach ein bild anzeigen: dann muss ich dir sagen, dass du dazu auch html benötigst. Denn php arbeitet serverseitung und ist nicht für die anzeige verantwortlch 2. Du willst ein bild durch php ausgeben, dass man dann iwo anders mit img tag einfügen kann also img src=index.php in diesen fall gibt es funktionen, die dir bilder ausgeben schau mal das manual an.

Kommentar von LiFe0 ,

habe erst jetzt dein obiges kommentar gelesen. php hat nichts mit anzeige zu tun. dafür ist html und css verantwortlich. mit echo übergibst du nur dem browser des users den quellcode. dieser muss in html verfasst sein.

Kommentar von SSxBaumxSS ,

Ersteres ist richtig. 

Nun das hat mir schon sehr geholfen. 

Mein Problem ist das ich bei HTML scheinbar auf das aufsplitten in mehrere Dateien verzichten muss, da es nicht funktionierte als ich es versuchte. Und aus diesem Grund wollte ich es mit php versuchen. Da haben dann die Befehle wegen des Bildes nicht funktioniert. 

Wie kann ich denn dann beides verbinden? :/ 

Kommentar von LiFe0 ,

Erstmal wenn du php dateien ausführen willst, benötigst du einen server, am besten mit apache. Wenn du die Website öffentlich machen willst, also dass andere auf diese zugreifen können musst du dir nen Webspace kaufen. Zu übungszwecken downloade dir xampp. du dir jetzt eine php datei erstellst, die mit

endet, kannst du dir z.b. mit echo " "; etwas ausgeben... schau dir am besten php tutorials an

Kommentar von LiFe0 ,

also die website wird immer mit html angezeigt. Du kannst mit php nur daran etwas verändern. z.b. kannst je nach uhzeit ein anderes bild anzeigen lassen. dies ist mit reinem html nicht möglich mit php kannst du sagen, dass es dir um 12 Uhr einen anderen html code ausgeben soll als um 24 Uhr

Antwort
von akorn, 6

manchmal liegt das Problem an klein oder groß Buchstaben (*.jpg, oder *.JPG). Überprüfe mal das in deiner Datei.

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten