PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [PHP]: Wieso hat ein Pfadname plötzlich zwei Backslashs?


mf_2
2007-09-07, 09:12:54
Hallo,

Ich frage mit einem HTML-Formular ein Verzeichnisname ab (normales INPUT Textfeld) und will nach dem Abschicken des Formulars via PHP in das Verzeichnis wechseln.
Nun habe ich aber folgendes Problem. Das ist meine Eingabe: "C:\testordner"
Das Programm bricht mit folgender Fehlermeldung ab:
Warning: opendir(C:\\testordner) [function.opendir]: failed to open dir: No error in G:\xampp\htdocs\dir.php on line 94
Warum sind da zwei statt einem Backslash? Verursacht das den Fehler?
Hoffentlich wisst ihr da mehr als ich.
mf_2

The_Invisible
2007-09-07, 09:20:27
ein backslash dient zum escapen des anderen, da ein backslash in der programmierung ein escape zeichen darstellt.

ich würde sowieso relative pfade verwenden, erspart man sich jetzt und später viel ärger

mfg

mf_2
2007-09-07, 09:38:11
In dem Fall muss ich aber leider absolute Pfadangaben verwenden. Ist das escapen für den Fehler verantwortlich? Und wenn ja, wie maskiere ich den Backslash so, dass da kein zweiter escape-Backslash notwendig ist?

Matrix316
2007-09-07, 12:59:03
Das Verzeichnis existiert aber, oder? ;) Du kannst ja versuchen die Pfadeingabe abzufangen und die \ mit \\ austauschen.

PatkIllA
2007-09-07, 13:09:13
Da sind wahrscheinlich Magic Quotes an.
http://de.php.net/magic_quotes
Am besten ausschalten. Fliegt AFAIK sowieso auf Dauer raus.

rotalever
2007-09-07, 15:16:37
Da sind wahrscheinlich Magic Quotes an.
http://de.php.net/magic_quotes
Am besten ausschalten. Fliegt AFAIK sowieso auf Dauer raus.
Boah wusste gar nicht, dass man sowas ausstellen kann. Ich hab die doppelten Slashes dann immer von Hand gefiltert;(