Verzeichnisstruktur eines servers in array ausgeben

ChuloGT

Mitglied
Hallo alle zusammen,
hab hier eine Funktion welches mir die Dateien und verzeichnisse in einem verzeichnis ausgibt.

Wie kann ich die Funktion umändern damit sie mir auch die Dateien und Verzeichnisse in den Unterverzeichnissen ausgibt und die Dateien und Verzeichnisse von dessen Unterverzechnissen usw.

Diese Datenmüssten in einem Array gespeichert werden, aber ich denke das würd ich noch hinbekommen

Dankbar für jede Hilfe!

PHP:
if ((!$verbindung) || (!$login_result)) { 
			echo "Ftp-Verbindung nicht hergestellt!";
			echo ("Verbindung mit <B>".$ftp_server."</B> als Benutzer <B>".$user."</B> nicht möglich"); 
			die; 
		} else {
			echo ("Verbunden mit <B>".$ftp_server."</B> als Benutzer <B>".$user."</B>.");
			//Hier wird das Verzeichnis ausgegeben
			echo implode (ftp_nlist($verbindung,$verzeichnis));
		}
 
In dem du die Datei überorüfst, ob es sich um eine Datei auch handelt.

PHP:
if(isdir($meinedatei)) { ... } else { . .}
 
Hab ne coole funktion von php.net gefunden! Liest die sowie die Unterverzeichnisse als auch die Daten in den verzeichnissen in ein array ein und gibt diese auch aus!

Jez muss ich das nur noch in bezug auf einen anderen server umarbeiten

Hier der code

PHP:
function recrusive_dirlist($base_dir)
{
global $getDirList_alldirs,$getDirList_allfiles;
  
   function getDirList($base)
   {
   global $getDirList_alldirs,$getDirList_allfiles;
   if(is_dir($base))
	   {
		   $dh = opendir($base);
	   while (false !== ($dir = readdir($dh)))
		   {
		   if (is_dir($base ."/". $dir) && $dir !== '.' && $dir !== '..') //note the change in this line
			   {
				   $subs = $dir	;
				   $subbase = $base ."/". $dir;//note the change in this line
				   $getDirList_alldirs[]=$subbase;
				   getDirList($subbase);
			   }
		   elseif(is_file($base ."/". $dir) && $dir !== '.' && $dir !== '..')//change in this line too
			   {
			   $getDirList_allfiles[]=$base ."/". $dir;//change in this line too
			   }
		   }
		   closedir($dh);
	   }
   }
getDirList($base_dir);
$retval['dirs']=$getDirList_alldirs;
$retval['files']=$getDirList_allfiles;
return $retval;
}
//recrusive_dirlist("..");
echo '<pre>';
print_r(recrusive_dirlist('..'));
echo '</pre>';
Danke sehr
 
Zurück