post-geht-Variablen nicht

mike4004

Erfahrenes Mitglied
Hallo ich habe ein Problem ich habe ein Script das auch geht (das script durchsucht Ordner nach Dateien)
Der Ordner wird per Post eingegeben doch wenn ich den ordner fix angeben will mit $dir = "C:\"; (habe es jetzt im Script ausdokumentiert) in einer Variablen angegeben will geht es nicht! Woran liegt das


PHP:
<?


if($_POST['ord']){
 //$dir = "C:\";
$dir = $_POST['ord'];
$content = opendir($dir);
$i = 0;
while($file = readDir ($content))
{
  if(($file != ".") && ($file != "..") )
  {
 $datei = ereg_replace(".html","",$file);

    echo'    <p><a href="dat/'.$file.'" style="text-decoration: none">
        <font color="#FFFFFF" size="2">'.$datei.'</font></a></p>';


    $i++;
  }
}
if($i == 0)
  echo "Zur Zeit sind keine Dateien zum Download verfügbar";}
  ?>
 
//$dir = "C:\";
Hast du vor
$dir = $_POST['ord'];

geschrieben.
Aufjedenfall musst du dann die 2. Zeile rausnehmen, damit die Variable nicht sofort wieder überschrieben wird..
Oder liegt das Problem wo ganz anders?
 
Also $dir = "C:\"; ist syntaktisch falsch, da mit \ Zeichen eine Escape-Folge eingeleitet wird. Du solltest also entweder einfache Anführungszeichen verwenden oder aber \\ schreiben, was dann wirklich deinem gewünschten Backslash entsprechen würde.

Mehr dazu - wie immer - in der Doku.

Dass du deine Variable $dir direkt danach mit dem per POST übergebenen Wert überschreibst, bleibt aber dennoch im Raum. ;)


Öhm, einfache Anführungszeichen wie von mir vorgeschlagen worden sind, helfen in diesem Fall ja auch nicht, bei gewünschtem Backslash einfach generell \\ schreiben. ;)
 
Zuletzt bearbeitet:
Zurück