[HILFE] mit ereg

christian_at

Grünschnabel
Hallo,

Ich versuche seit 20 Minuten einen abfrage zu erstellen :)
Ich möchte bevor ein Verzeichnis gelöscht wird abfragen ob es im PFAD "../" beinhaltet.

Meine Abfrage:
PHP:
$dir = '/var/www/web/html/modules/private/data/Notes.txt';

if(ereg("../", $dir) {
      echo 'yes';
} else {
      echo 'no';
}

Aber aus irgendeinen grund kommt immer "Yes" obwohl ../ nicht drin steht.
Hat jemand eine Idee?
 
Versuch's mal so(ungetestet):
Code:
$dir = '/var/www/web/html/modules/private/data/Notes.txt';
if (preg_match("/..//", $dir)){
echo "Yes";
} else {
echo "no";
}
 
Dann Tests mal so:
PHP:
$dir = '/var/www/web/html/modules/private/data/Notes.txt';
if (preg_match("=../=is", $dir)){
echo "Yes";
} else {
echo "no";
}
 
Ich fühle mich gerade irgendwie von Deppen (also Leuten wie mir umgeben) (verzeiht mir diesen Ausdruck!) umgeben: es hätte doch mal jemanden auffallen müssen, dass der Punkt bei regulären Ausdrücken eine besondere Bedeutung hat und deshalb maskiert werden muss. Von daher dürfte das Problem so gelöst werden:
PHP:
$directory = '/var/www/web/html/modules/private/data/Notes.txt';

if(preg_match('/\.\.\//', $directory)) {
  echo 'ja';
} else {
  echo 'nein';
}

[Änderungen: navy (SCNR)]
 
Zurück