sockä Geschrieben 22. Februar 2006 Teilen Geschrieben 22. Februar 2006 Hallo, ich habe folgenden Link: //server/rechnungen und lieferscheine/eingang/2006/aeg.doc und binde diesen einfach so als href ein: $link = "//server/rechnungen und lieferscheine/eingang/2006/aeg.doc"; echo '<a href="'.$link.'" target="blank">'.basename($link).'</a>'; Das klappt nicht immer; im IE geht es so, bei anderen Browser nicht. Bei Mozilla z.B. klebt er vor dem Pfad noch den aktuellen "Stand" im Browser, da kommt dann sowas raus wie: http://localhost/test///server/rechnungen und lieferscheine/eingang/2006/aeg.doc ... kann natürlich nicht gehen. Ausprobiert habe ich - <a href=http:// + pfad - <a href=http: + pfad - <a href=file:// + pfad - <a href=file: + pfad Dann hat er noch Probleme mit Leerzeichen im Pfad, die habe ich so ersetzt: $link = str_replace(" ", "&160;", $link); // Vor dem &160 noch ein #-Zeichen, aber das verschluckt der Editor hier....?![/php] Ebenso habe ich versucht aus "/" ein "\" zu machen: [php]$link = str_replace("/", "\\", $link); ... natürlich auch kein Erfolg... Naja... irgendwie geht es nicht... jemand nen Tipp? Besonders für das komische Pfad-Vorne-Rankleben bei Mozilla und Opera... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Whatever Geschrieben 22. Februar 2006 Teilen Geschrieben 22. Februar 2006 Mozilla und Co. können mit einem //-Pfad nix anfangen. Diese Pfadangaben sind Windows-Netzwerk-Pfadangaben. Der IE kann es, weil er eben nur eine Explorer erweiterung ist (gibt z.b. mal im Arbeitsplatz ne Internetadresse ein, sie wird angezeigt). Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
sockä Geschrieben 22. Februar 2006 Autor Teilen Geschrieben 22. Februar 2006 Mozilla und Co. können mit einem //-Pfad nix anfangen. Ok, wenn das so ist... wie kriege ich das dann hin das solche Pfade zu Windows-Netzfreigaben nicht nur mit dem IE angezeigt werden können? Ich hatte schon mal eine Anwendung, der ich Links in Form von \\server\freigabe\pfad\datei.txt mitgegeben habe, das funktionierte in allen Browsern. Warum es jetzt nicht mehr geht ist mir ein Rätsel. Gut, jetzt habe ich "//" statt "\\" - aber nach einem str_replace() sollte das doch nicht mehr stören, oder?! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kills Geschrieben 22. Februar 2006 Teilen Geschrieben 22. Februar 2006 für jeden "\" musst du "\\" schreiben, da du jeden "\" escapen musst. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
sockä Geschrieben 22. Februar 2006 Autor Teilen Geschrieben 22. Februar 2006 Das habe ich auch schon probiert... aber ohne Erfolg Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
geloescht_JesterDay Geschrieben 22. Februar 2006 Teilen Geschrieben 22. Februar 2006 ich habe folgenden Link: //server/rechnungen und lieferscheine/eingang/2006/aeg.doc ... Naja... irgendwie geht es nicht... jemand nen Tipp? Besonders für das komische Pfad-Vorne-Rankleben bei Mozilla und Opera... Was du da angibst ist nichts als eine relative URL, und da eine relative URL sich immer auf den aktuellen Server bezieht und das aktuelle Verzeichnis, ist es schon korrekt, dass da http://Serveradresse/pfad/... vorne drangehängt wird. Probier mal ein Protokoll davor zu hängen, also file:// denn somit sollte es gehen. Das Problem dabei ist nur, dass eine file:// Link von den Browsern heutzutage schlicht ignoriert wird Firefox kann man das beibringen, dass er es dennoch zuläßt, aber IE... keine Chance (bzw. nur MSIE6 unter XP mit SP1 oder SP2, sonst geht es). Enable in the user.js (is not diplayed in about:config) user_pref("capability.policy.policynames", "localfilelinks");, user_pref("capability.policy.localfilelinks.checkloaduri.enabled", "allAccess"); and the sites name for the access user_pref("capability.policy.localfilelinks.sites", "http://www.example.com");. The attribute of capability.policy.localfilelinks.sites can contain several web pages separated with blanks. Quelle Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
freq.9 Geschrieben 22. Februar 2006 Teilen Geschrieben 22. Februar 2006 Also ich musste meinem Firefox nun nicht beibringen, dass der auf file:///C:/ zugreifen konnte. Ging einfach so. Zudem sollten im Pfad keine Leerzeichen sein, sondern %20 (=Leerzeichen). Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
geloescht_JesterDay Geschrieben 23. Februar 2006 Teilen Geschrieben 23. Februar 2006 Also ich musste meinem Firefox nun nicht beibringen, dass der auf file:///C:/ zugreifen konnte. Ging einfach so. Hast du die Testseite um das zu probieren vielleicht auch über file:// aufgerufen (also Doppelklich auf die HTML-Datei auf dem Desktop z.B.)? Das ist nämlich ein Unterschied, ob die Datei lokal oder im Inter-/Intranet liegt. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
geloescht_JesterDay Geschrieben 23. Februar 2006 Teilen Geschrieben 23. Februar 2006 Nachtrag: Wir haben hier im Intranet ein Wiki, und komischerweise geht mit dem IE (6 SP2) heute auf einmal der Filelink. Gerade hat mich jemand angerufen deswegen, aber wir haben das davor schon probiert und es ging eben nicht. Ich hab da nur die Config geändert, dass file:// als Protokoll erkannt wird und als Link dargestellt. (und direkt danach ging es ja nicht) :confused: Beim FF muss man aber die Einträge in der user.js machen, was ich jetzt mal hier machen werde. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
sockä Geschrieben 23. Februar 2006 Autor Teilen Geschrieben 23. Februar 2006 Also da alles nicht ging und die Mozilla-Einstellung beim Anwender von mir aus nicht änderbar sind, mache ich es nun mit einem Download-Link. Link zeigt auf eine download.php-Datei, übergibt Dateinamen und Pfad per Session und in der download.php werden dann die header zum Download oder zur Anzeiger der Datei angezeigt. Das geht dann wunderbar, auch mit Pfaden wie //server/freigabe. Geht in IE, Opera und Mozilla. Einziges Problem ist -mal wieder- der Mozilla, der Probleme hat, wenn der Dateiname Leerzeichen enthält. Beim Pfad stört ihn das nicht, aber wohl beim Dateinamen (warum auch immer....?). So gibt ein Download der Datei "sehr toller dateiname.doc" einen PHP-Error aus. Opera und IE gehen da drüber weg. Habe versucht, die Leerzeichen durhc %20 oder sonstiges zu ersetzen, aber Mozilla weigert sich weiter.... jemand eine Idee für dieses Phänomen?! ... und kommt mir nicht mit "Leerzeichen haben in ner Datei nix zu suchen" ... jaja, MIR ist das auch klar, aber... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
geloescht_JesterDay Geschrieben 23. Februar 2006 Teilen Geschrieben 23. Februar 2006 So gibt ein Download der Datei "sehr toller dateiname.doc" einen PHP-Error aus. Opera und IE gehen da drüber weg. PHP läuft auf dem Server und hat mit dem Client (Browser) 0 (in Worten Null) zu tun. Du solltest mal prüfen, wodurch es genau zum Fehler kommt. Was wird denn genau angefordert, was wird an dein Skript übergeben, wie wird der Link in Browser dargestellt? Ist nur ein Fehler in deinem HTML dafür verantwortlich (Nur weil der IE es "korrekt" macht, ist es das noch lange nicht. Auch Opera dazu reicht nicht. Irgendwo muss ja was nicht ganz stimmen)? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.