2016-04-20 5 views
1

ich einen Code zu machen versuchen, durch ein Verzeichnis in PHP zu navigierendurch Ordner mit PHP-Navigation

function navigate($path){ 
    $directorio = $_SERVER['DOCUMENT_ROOT'] . '/' . $path; 
    $scan = scandir($directorio); 
    return $scan; 
} 
    session_start(); 
    $dir = $_SERVER['DOCUMENT_ROOT'] . '/'; 

if(ISSET($_POST['datei'])){ 
    echo $_POST['datei']; 
    $_SESSION['actualdir'] = $dir . $_POST['datei'];  
    $scanner = navigate($_SESSION['actualdir']); 
} 
if(!ISSET($_POST['datei'])){ 
    $scanner = scandir($dir); 
} 

Das $ Scan und $ Scanner Variablen sind Arrays, die zu einem Drop-Down-gehen, um die nächsten Ordner zu wählen. Mein Code funktioniert jedoch nur zweimal.

Beispiel:

Wir beginnen im Ordner.

Dann zeigt das Drop-Down-nextfolder

Wir haben jetzt in Ordner/nextfolder sind.

Wir wählen anyfolder wieder.

Das Programm geht in den Ordner/anyfolder anstelle von folder/nextfolder/anyfolder.

Irgendwelche Ideen? Ich denke, ich sollte das aktuelle Verzeichnis irgendwie speichern. Aber ich habe keine Ahnung, wie ich es machen soll.

+0

Was ist Ihr Wunschziel hier? Sie können eine Schleife verwenden, um zu Ihrem Ziel zu navigieren. – Rivers

Antwort

0

Sie müssen rekursive Funktion verwenden, um das zu tun.

function navigate($path){ 
      static $scanned = array(); 
      $dir = scandir($path,1); 

      foreach ($dir as $obj) { 
       if(strlen($obj) > 2){ 
        if(is_dir($path.$obj)){ 
         //directory 
         $scanned = indir($path.$obj.'/'); 
        } else { 
         //file 

        } 
       } 


      } 
      return $scanned; 
     } 
+0

Diese Funktion gibt Ihnen rekursive Ordner wie Ordner/Unterordner und Unterordner – Manmohan