Schrägstrich (Slash) im Dateinamen
MSchnitzler2000
- php
0 Tom0 gnotterbald0 hotti
0 Der Martin0 Gunnar Bittersmann0 johny7
0 MSchnitzler2000
Ich erstelle Seiten, bei denen der Titel eines Buches der Name des PHP-Dokuments sein soll, also nach dem Schema Buchtitel.php
Nun habe ich einen Titel, in dem ein Schrägstrich (Slash) vorkommt. Da dieses Zeichen normalerweise zur Trennung zwischen Ordnername und Dokumentname verwendet wird, muss ich es maskieren. Dazu habe ich den Code %2F gefunden. Wenn ich nun aber ein Dokument der Form abc%2Fdef.php in den Ordner Bibliothek hochlade und im Browser aufzurufen versuche, erhalte ich die Fehlermeldung
"The requested URL /Bibliothek/abc%2Fdef.php was not found on this server"
Sieht so aus, als würde der Browser den ersten Teil, also das abc, als Ordnername interpretieren und darin das Dokument def.php suchen, statt das Dokument abc%2Fdef.php aufzurufen.
Gibt es irgendeine Möglichkeit, einen Dokumentnamen mit Schrägstrich zu nutzen?
Hello,
das Maskieren eines Pfadabgrenzers ist mWn nur unter unixoiden Betriebssystemen möglich.
Unter WinDOSen musst Du wohl auf dieses Zeichen im Dateinamen / Ressourcenamen verzichten.
Welcher Irre hat innerhalb eines Datei / Ressourcenamens SOnderzeichen benutzt?
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
"Welcher Irre hat innerhalb eines Datei / Ressourcenamens SOnderzeichen benutzt?"
Findest du es nicht legitim, ein Buch Ausdruck1/Ausdruck2 zu nennen? Wieso sollte man als Buchtitelgeber in der realen Welt Rücksicht auf computerspezifische Probleme nehmen?
Nein, mit Irren hat das nichts zu tun...
Gnotterbald
Hello,
"Welcher Irre hat innerhalb eines Datei / Ressourcenamens SOnderzeichen benutzt?"
Findest du es nicht legitim, ein Buch Ausdruck1/Ausdruck2 zu nennen? Wieso sollte man als Buchtitelgeber in der realen Welt Rücksicht auf computerspezifische Probleme nehmen?
Na, oder 08/15?
http://de.wikipedia.org/wiki/08/15
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
Hi,
Findest du es nicht legitim, ein Buch Ausdruck1/Ausdruck2 zu nennen? Wieso sollte man als Buchtitelgeber in der realen Welt Rücksicht auf computerspezifische Probleme nehmen?
Die Frage lautet im Kontext dieses Threads ja eher, wieso ein URL Rücksicht auf sowas wie ein "Dateisystem" nehmen sollte.
MfG ChrisB
Hallo,
»» Findest du es nicht legitim, ein Buch Ausdruck1/Ausdruck2 zu nennen? Wieso sollte man als Buchtitelgeber in der realen Welt Rücksicht auf computerspezifische Probleme nehmen?
Die Frage lautet im Kontext dieses Threads ja eher, wieso ein URL Rücksicht auf sowas wie ein "Dateisystem" nehmen sollte.
muss ja gar nicht, wie ich schon erwähnte; "sollte" vielleicht schon. Es wird halt umständlicher, wenn man mit solchen Konventionen brechen möchte.
So long,
Martin
hi,
Welcher Irre hat innerhalb eines Datei / Ressourcenamens SOnderzeichen benutzt?
Ich frag mich manchmal auch, wer auf die bescheuerte Idee gekommen ist, ausgerechnet den Slash "/" als Trennzeichen für Verzeichnisse zu verwenden. So eine Unverschämtheit, echt ma.
Hotte
@@hotti:
nuqneH
Ich frag mich manchmal auch, wer auf die bescheuerte Idee gekommen ist, ausgerechnet den Slash "/" als Trennzeichen für Verzeichnisse zu verwenden.
Microsoft war’s nicht.
Qapla'
»» Ich frag mich manchmal auch, wer auf die bescheuerte Idee gekommen ist, ausgerechnet den Slash "/" als Trennzeichen für Verzeichnisse zu verwenden.
Microsoft war’s nicht.
stimmt, die verwenden lieber ein Backslash "" ...
was daran jetzt besser sein soll, weiß ich jedoch nicht
Hello,
»» Ich frag mich manchmal auch, wer auf die bescheuerte Idee gekommen ist, ausgerechnet den Slash "/" als Trennzeichen für Verzeichnisse zu verwenden.
Microsoft war’s nicht.
stimmt, die verwenden lieber ein Backslash "" ...
was daran jetzt besser sein soll, weiß ich jedoch nicht
Und genau dieser Backslash wird nun wieder bei den unixoiden Betriebssystemen dazu benutzt, um Sonderzeichen im Dateinamen zu maskieren. Wenn also ein Pfad z.B. ein Leerzeichen oder ein Fragezeichen enthält, dann man das mit dem Backslash maskieren
/home/thomas/besondere\ Datei\ mit\ Leerzeichen/oder/auch/einem\ /\ im Pfad
egibt im Script dann diese Teilpfade:
home
thomas
besondere Datei mit Leerzeichen
oder
auch
einem / im Pfad
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
Hallo,
Wenn ich nun aber ein Dokument der Form abc%2Fdef.php in den Ordner Bibliothek hochlade und im Browser aufzurufen versuche, erhalte ich die Fehlermeldung
"The requested URL /Bibliothek/abc%2Fdef.php was not found on this server"
was nicht weiter verwunderlich ist.
Sieht so aus, als würde der Browser den ersten Teil, also das abc, als Ordnername interpretieren und darin das Dokument def.php suchen, statt das Dokument abc%2Fdef.php aufzurufen.
Nein, nicht der Browser, sondern der Server. Er bekommt einen Request nach abc%2Fdef.php, löst die darin enthaltene Maskierung korrekt auf abc/def.php auf, und versucht nun abc/def.php im Dateisystem zu finden.
Gibt es irgendeine Möglichkeit, einen Dokumentnamen mit Schrägstrich zu nutzen?
Nur wenn du den Dateipfad auf der Serverseite selbst auswertest (informiere dich z.B. über $_SERVER['PATH_INFO']) und den Slash '/', der in Dateinamen nicht zulässig ist, entsprechend umcodierst. Da ist dann aber Handarbeit angesagt.
So long,
Martin
@@MSchnitzler2000:
nuqneH
Wenn ich nun aber ein Dokument der Form abc%2Fdef.php in den Ordner Bibliothek hochlade
Dann heißt die Datei auch so: "abc%2Fdef.php".
und im Browser aufzurufen versuche, erhalte ich die Fehlermeldung
"The requested URL /Bibliothek/abc%2Fdef.php was not found on this server"
Warum, hat Der Martin ja schon gesagt.
Über …/Bibliothek/abc%252Fdef.php solltest du die Ressource bekommen.
Das ist aber nicht das, was du willst. Überlege, wann du welche Zeichen maskieren musst.
Qapla'
Moin allerseits,
| Wenn ich nun aber ein Dokument der Form abc%2Fdef.php in den Ordner Bibliothek hochlade
Dann heißt die Datei auch so: "abc%2Fdef.php".
Nur mal so eine Idee: Versuch doch einfach %2F noch einmal zu kodieren. Ich glaube, ich hatte schonmal ein ähnliches Problem gehabt und so die Lösung gefunden.
Mal was anderes: Wie sollen denn deine PHP-Dateien heißen? "Das Dreck / Die Abfall.php" oder wie? Und wie soll nachher die URL dazu aussehen? www.meinelibenbuecher.de/das dreck / die abfall.php ? Soll das nachher so übers Netz aufrufbar sein? Sonst versuche es doch mit mod_rewrite oder sonst einem ähnlichen Ansatz.
Grüße, JN
Danke für eure Erklärungen und Lösungsversuche!
Ich hatte gehofft, dass mir vielleicht ein Fehler unterlaufen ist oder dass es eine andere relativ simple Lösung gibt. Aber ich merke schon, dass sich mein Problem wenn überhaupt nur mit großem Aufwand lösen lässt. Das lohnt sich für so eine Kleinigkeit nicht.