Variablenübergabe
Klaus Karnbrock
- php
Hallo!
Ich möchte folgenden Link benutzen und die Variable showtxt damit an die Datei p1_show.php3 übergeben:
So geht's:
<a href="p1_show.php3?showtxt=../data/abc2.txt">
So geht's NICHT:
<a href="p1_show.php3?showtxt=../../data/abc2.txt">
Klappt also prima, solange nicht die Zeichenfolge ../../ verwendet wird (um in einen übergeordneten Ordner zu verzweigen).
Warum ???
Vielen Dank im voraus
Klaus
Hallo Klaus!
<a href="p1_show.php3?showtxt=../data/abc2.txt">
verzweigt EIN Verzeichnis nach oben
<a href="p1_show.php3?showtxt=../../data/abc2.txt">
verzweigt ZWEI Verzeichnisse nach oben
ob Du 1 x ../ oder 10 x ../ verwendest, ist dabei egal, solange Du das vom Dateisystem her darfst (vorhanden + berechtigt).
es waere vielleicht interessant, die verzeichnisstruktur mit dieser datei und den auswertenten teil des scriptes zu sehen.
Gruß
Thomas
Hallo Thomas,
tatsächlich erreichen möchte ich ein Verzeichnis, das zwei Stufen höher ist (deshalb ../../). Es ist hier KEIN Problem von Berechtigungen etc. Das Verzeichnis existiert exakt an dieser Stelle und ich habe die Berechtigung, darin zu lesen.
Versuche ich etwa mit
<a href="../../data/abc2.txt"> direkt die Datei anzuspringen, tritt kein Problem auf!
Ich vermute vielmehr, dass es ein Problem mit exakt dieser Folge von Zeichen gibt. Ein Indiz dafür ist, dass beim Aktivieren des Links in der Statuszeile nicht etwa
http://www.homepage.de/include/p1_show.php3?showtxt=../../data/abc2.txt
erscheint, sondern vielmehr
http://www.homepage.de/include/data/abc2.txt
Gruß
Klaus
Hallo Klaus!
Leider habe ich jetzt keine Zeit, um eine Loesung dafuer zu finden. Ich kann Dir nur einen Workaround anbieten:
adressiere absolut
oder
verwende zb: showtxt=2UP/data/abc.txt
das 2UP/ ersetzt Du dann mit Hilfe eines regulaeren Ausdruckes durch 2x ../
Gruß
Thomas
Ich vermute vielmehr, dass es ein Problem mit exakt dieser Folge von Zeichen gibt. Ein Indiz dafür ist, dass beim Aktivieren des Links in der Statuszeile nicht etwa
http://www.homepage.de/include/p1_show.php3?showtxt=../../data/abc2.txt
erscheint, sondern vielmehr
http://www.homepage.de/include/data/abc2.txt
Das sieht so aus, als würde jemand versuchen, diesen "Pfad" zu "optimieren", der nicht versteht, daß "?" ein Trennzeichen sein soll.
Wer immer das sein mag: Du kannst ihn vermutlich daran hindern, indem Du in Deinem Parameterwert *nicht* das Zeichen "/" als Ebenen-Separator verwendest. sondern ein anderes, neutrales, und dann in Deinem php3-Programm diese Ersetzung wieder rückgängig machst.