Hi, Freunde!
Ich habe folgendes Problem:
Über ein PHP-Script wird ein <img> eingebunden, dessen src z.B. auf "m:/ordner1/ordner2/1.jpg" verweist.
Das Bild erscheint nicht (Standard-xampp-Installation).
src ist absolut korrekt, Beweis:
Kopiere ich mir den Source dieser Site in eine separate html-Datei und rufe diese auf, so erscheint das Bild einwandfrei.
Sicherheitseinstellungen im IE7? Aber welche?
Hat jemand eine Idee?
Danke.
Referenz auf Grafik
-
-
Zeig bitte einmal den PHP code
-
und auf dem Webspace is' wirklich ein Ordner der "m:" heißt?
-
wird wohl eher lokal sein ?!
aber zeig mal den php-code her, kommt denn ne fehler-meldung oder wenigstens das klene schicke rote [x], dass das bild nich gefunden wurde ? -
Hi!
Der PHP-Code ist nicht das Problem, selbst hier tritt das Problem auf:
Und: Ja, Laufwerk M: existiert tatsächlich.
Startet man das oben gezeigte Programm, z.B. über localhost/test (wobei sich im Ordner test eine Datei index.php mit oben gezeigtem Inhalt befindet), so erscheint kein Bild.
Läßt man sich den Quelltext der gerade gezeigten Seite darstellen, so erscheint
Kopiert man diese Zeile in eine Datei z.B. namens c:\test.htm und doppelklickt die Datei dann befindet sich - voila! - das Bild am Bildschirm.
Es ist mir ein Rätsel! -
Nachtrag:
Es erscheint kein rotes X sondern das Symbol für eine Grafikdatei.
Finden tut er's also.
Mit der rechten maustaste kann ich "Bild anzeigen" und "Eigenschaften" wählen, wobei Eigenschaften nur "Nicht verfügbar" zeigt. -
Noch ein Nachtrag:
Ich hatte es gar nicht bemerkt, aber das selbe Problem tritt in Verbindung mit C: auf.
Sobald sich das Bild außerhalb des Apache-Zugriffsraumes befindet (so scheint es), geht es nicht.
Aber was weiß Apache oder PHP denn von dem, was der Browser machen soll?
Ich gehe im Moment wirklich von Sicherheitseinstellungen aus, aber die habe ich schon auf "Sehr niedrig". -
Hi!
Neue Erkenntnis:
Hab gerade xampp auf einem anderen Rechner installiert und das Programm dort getestet.
Das Phänomen tritt ausschließlich unter IE7 auf. Mit IE6 läuft es.
Ich gehe also weiterhin davon aus, dass es sich um eine Einstellung handelt. Oder kann mir jemand mitteilen, ob bei ihr/ihm das Problem unter IE7 _nicht_ auftritt? -
ok mal wieder einen der nicht hören möchte...
mach es doch einfach so, das du die grafik mit relationalen pfaden zu domain angibst.. also über den webserver die grafik holst..
anstat dich auf eine bug des IE <=6.1 zu verlassen
-
Hi!
Also so ganz einfach ist das nicht, es handelt sich ausschließlich um eine lokale Anwendung.
Bei den Grafiken handelt es sich um altertümliche Landkarten mit insgesamt 400 GB.
Was das "nicht hören wollen" angeht, so mag das daran liegen, dass neuere PC's mit Vista und IE7 ausgestattet sind. Das Problem wird künftig noch häufiger auftreten, es zu "ignorieren" ist also keine Endlösung.
Ich kann den IE7 auch nicht leiden, aber was bleibt mir übrig?
Außerdem:
Auch der IE6 hat diesbezüglch ein Problem: Die Grafik wird zunächst als Thumb angezeigt. Wird sie angeklickt, so soll der Explorer ein neues Fenster öffnen, was die Grafik größer darstellt. Das geht auch mit dem IE6 nicht, wenn die Grafik von einem externen LW stammt. Er reagiert nicht auch den Klick. -
was dir übrig bleibt?
Firefox, Opera, Netscape, IE9,... -
also nochmal, du hast eine 400GB große karte?!
und solange es lokal ist, ist es egal, ob du es durch den apachen jagst...du weist wie viel 400GB sind ?!
und was hast du genau vor?
-
Um GreenRover zu verdeutlichen:
vor 25 Jahren hätte man mit den Speicermedien die nötig waren um 400GB zu speichern ganz amerika pflastern können. -
es heisst ja auch Landkarten, ich denke nicht, dass es EINE verdammte karte ist
wenn es eine Sammlung ist, können das schon einige tausend sein, denke ich mal
und wenn das nur lokal laufen soll, dann pack doch einfach die html-datei in den entsprechenden ordner der ein verzeichnis dadrunter / drüber, dann kannst du wunderbar mit relativen pfaden arbeiten -
Hi, Freunde!
Also: Natürlich ist es nicht EINE Karte, sondern wirklich tausende.
Ich kann die Position der Karten nicht ändern, da auch andere Anwendungen darauf zugreifen (im Netzwerk).
Der Fileserver verwaltet die Karten. Diese sind im gesamten Netzwerk als M: gemappt.
Andere Daten, wie etwa die SQL-Datenbank liegen auf anderen Servern.
Das ist der Grund, weshalb ich von der Konstellation nicht abweichen kann.
Die Verwendung anderer Browser ist denkbar, aber es handelt sich um ein Intranet mit über 50 Arbeitsplätzen.
Ich kann zwar eine Empfehlung aussprechen, dass irgendein Browser genutzt werden soll, aber in der Realität sieht es so aus:
Kunde kauft (z.B.) Dell-PC, schließt ihn an und legt los.
Umfangreiche Installationen (jaja, ich weiß, so umfangreich ist das nicht) in Sachen Brwoser sind nicht gern gesehen.
Wie dem auch sei: Meine Anwendung muss auf allen (!) Browsern laufen.
Ich glaube auch nicht an einen "Bug", sondern an eine von mir noch nicht herausgefundene Einstellung. -
also es ist und bleibt ein bug des ie <=6.1 den dieser ist gleichzeitigt inet browser und file browser...
aber was spricht gegen die lösung das laufwerk m: einfach über den apachen ausgeben zu lassen... z.B. damit
httpd.conf :
Alias /karten/ M:\und du wirst wirklich keine bessere Lösung finden
-
Wow - Das kannte ich nicht.
Bin gerade am Testen.
Mit der EinstellungCode<IfModule mod_alias.c> Alias /karten/ "M:/Karten/" <Directory "/M:/Karten/"> Options Indexes FollowSymlinks MultiViews AllowOverride None Order allow,deny Allow from all </Directory> </IfModule>
kommen die Bilder - Klasse!
Bei Backslash startet Apache nicht mehr, daher Slash.
Ein Zugriff über PHP auf den Alias ist aber so nicht möglich, oder?
Beispiel:
führt zum Fehler "Unable to access..."
Muss ich da noch etwas beachten?
Notfalls kann ich da auch den direkten Pfad nehmen, also "M:\...", denn das ging ja bisher.
So nebenbei:
Herzlichen Dank! -
Warum probierst dus nicht einfach mit M:/
Keine \ benutzen -
Hi!
Das ändert nichts. Der Browser zeigt (nach Script-Anpassung) weiterhin brav die Bilder aber PHP weiß nichts vom Alias (?) oder ich stell mich dumm an - wahrscheinlich sogar! -
genau php weis nichtsvom alias und muss daher die files direkt anfassen.. musst daher 2 Pfade führen, einen interen und einen für die Ausgabe...
PHP kann davon auch nichts wissen, da es eine Apache Emulation ist..
-