Zum Inhalt springen

[php] Link zu Dateien im Browser anzeigen geht nicht


Empfohlene Beiträge

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... :(

Link zu diesem Kommentar
Auf anderen Seiten teilen

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?!

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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. ;)

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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... ;)

Link zu diesem Kommentar
Auf anderen Seiten teilen

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)?

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...