Bildanzeige der php-Datei funktioniert nicht.

J

Joost

Aktives Mitglied
Thread Starter
Dabei seit
09.10.2004
Beiträge
444
Reaktionspunkte
13
Hallo,

ich hab ein Problem mit php-Seiten, die ich gebastelt habe. Das php-script liest Formulardaten aus und trägt sie in eine mysql-Datenbank ein. Das alles funktioniert auch wunderbar.
Dann habe ich dem script per 'include' ein bißchen Layout geben wollen. Die html-Informationen (tabellen usw.) in den eingebundenen Dateien werden auch von Safari interpretiert, allerdings wird keines der Bilder angezeigt.

Ich habe dann die Verzeichnisstruktur durchforstet, um mögliche Fehler zu finden, aber selbst wenn alle Dateien im gleichen Verzeichnis liegen, die Bilder also mit '<img src="Bild1.jpg">' zu finden sein müßten, werden sie nicht angezeigt (ich benutze den mitgelieferten Apache-server meines OS X 10.3.5 Systems und PHP Version 4.3.9, die ja auch ansonsten gut funktioniert. Die Dateien liegen ganz normal in '/nutzer/web-sites' , 'Personal Webshare' ist aktiviert).
Meine nächste Überlegung ging dahin, das die Dateien, die ich mit 'include' eingebunden habe, die Bilder nicht mitbringen (warum auch immer). Also habe ich die Bilder testweise direkt in meine php Seite geschrieben. Sowohl mit 'echo("<img src="Bild1.jpg>")', als auch mit 'include("bild1.jpg")'. Auch so werden die Bilder nicht angezeigt. Zu dem mußte ich feststellen, das auch eine .css-Datei mit Formatierungen für Schrift usw. nicht interpretiert wird.
Dann habe ich das ganze auf einem PC laufen lassen, ebenfalls mit einem Apacheserver und siehe da, sowohl Bilder als auch css-Informationen werden angezeigt.
Der Fehler muss irgendwo bei meinem webserver liegen, denn auf dem Mac werden die Dateien sowohl von Safari, als auch vom Internetexplorer unvollständig (sprich ohne Bilder und css-Dateien) interpretiert. Wenn ich in der Konsole versuche den Server zu starten (vielleicht wird er ja aus irgendeinem Grund beim Systemstart nicht mitgestartet) 'sudo apachectl start', bekomme ich die Meldung, das der Prozess bereits läuft und auch nach einem Neustart 'apachectl graceful' ändert sich nichts.
Ich habe sogar versucht, ob es irgendwie an der Groß- und Kleinschreibung der Dateinamen liegt, aber natürlich war das nicht der Fehler.
Jetzt bin ich langsam ziemlich ratlos. Vielleicht hat ja von Euch einer eine Idee. Vielen Dank!

Gruß Joost
 
Du bist sicher, daß die Dateien read-Rechte für alle user haben?

chmod o+r *
 
kannst du mal url geben zu dem Formular?
 
Also include("bild.jpg") funktioniert so nicht und bei Deinem 'echo("<img src="Bild1.jpg>")' fehlen die Anführungszeichen nach dem "jpg".

Tipp zum Debuggen, falls Du folgendes nicht schon gemacht hast: öffne die Seite und lass Dir den Bildpfad der Bilder anzeigen, die nicht erscheinen. Normalerweise müsste ja ein Platzhalter oder was auch immer erscheinen und dann einfach rechter Mausklick drauf. Dann packst Du den Pfad in die Adresszeile des Browsers und schaust was passiert. Bei mir hilft das eigentlich immer, wenn Bilder oder sonstige Elemente (für css die Adresse aus dem Quelltext holen) nicht angezeigt werden.
 
Hallo,

also @aguilera, danke für den Tip, wenn ich die Adressen der Bilder in das Adressfeld eingebe erhalte ich folgende Meldung:

Forbidden
You don't have permission to access /~Joosthartwig/verzeichnis/Grafik/Bild1.jpg on this server.

------------------------------------------------------------------------
Apache/1.3.29 Server at prometheus.local Port 80


Was uns wohl zu der Anmerkung von wegus bringt mit den Rechten. Leider hab ich nicht so den Durchblick bei Unix, wenn ich den von Dir vorgeschlagenen Befehl eingebe tut sich gar nichts. Das hab ich gemacht:

Prometheus:/usr/local/mysql Joosthartwig$ sudo -s
Prometheus:/usr/local/mysql root# chmod o+r *
Prometheus:/usr/local/mysql root#

Das gleiche hab ich auch nochmal direkt unter meinem normalen Nutzer (also nicht als root) probiert, auch kein Ergebnis.
Vielleicht kannst Du mir die Rechte-geschichte noch ein bißchen genauer erklären. Vielen Dank für eure Mühen, ich glaube wir sind der Lösung auf der Spur.

Gruß Joost
 
Geschafft!!!

Hallo,

danke an alle, hat sich erledigt. Es lag tatsächlich an der Rechtevergabe. Hab mich durch diverse Unix-Tutorials gelesen und die Lösung jetzt hinbekommen.

Gruß joost
 
Zurück
Oben Unten