PHP Forum

PHP Forum (http://www.selfphp.de/forum/index.php)
-   PHP Grundlagen (http://www.selfphp.de/forum/forumdisplay.php?f=12)
-   -   FTP Verzeichnisse auslesen (http://www.selfphp.de/forum/showthread.php?t=17954)

Schneidoa 01.11.2007 00:10:04

FTP Verzeichnisse auslesen
 
Hallo,

ich habe folgendes Problem. Ich brauche ein Skript das aus einer bestehenden FTP-Verbindung alle Verzeichnisse mit Unterverzeichnisse ausliest und die dann in ein Array schreibt, damit ich sie später in einer "Baumstruktur" darstellen kann. Allerdings funktioniert mein Skript nicht. Am Anfang wenn die Funktion aufgerufen wird steht in der Variable $verzeichnis die ich an die Funktion weiter gebe "/" oder ein Heimatverzeichniss von einer Domain. Kann mir jemand sagen wie ich die Funktion umschreiben muss dammit ich ein richtiges Array bekomme?


Danke
mfg.Schneidoa
PHP-Code:

function ftp_verzeichnisse($ftp_verbindung$verzeichnis)
{
    
$ftp_nlist ftp_nlist($ftp_verbindung$verzeichnis);
    
$anzahl count($ftp_nlist);
    
    for(
$i=0;$i<$anzahl;$i++){
            if (
ftp_chdir($ftp_verbindung$ftp_nlist[$i])) {
                
$ordner[] .= $ftp_nlist[$i] ;
                
$ordner[] .= ftp_verzeichnisse($ftp_verbindung$ftp_nlist[$i]);
                
                
            }
        
ftp_chdir($ftp_verbindung'..');
            
    }
    return 
$ordner;



z0iD 01.11.2007 00:45:43

AW: FTP Verzeichnisse auslesen
 
Der (oder ein) Wurm steck in
PHP-Code:

$ordner[] .= $ftp_nlist[$i] ; 

. Mach den Punkt vor dem Gleich weg. Der hängt eine Zeichenkette an eine vorhandene an, hier legst Du eine neue Zelle in einem Feld an, diese ist zwar leer, daher ist das nicht weiter schlimm, aber wenn das was Du zuweist, keine Zeichekette ist, wird eine draus gemacht. Wenn das semantisch nicht geht, wird halt eine leere Zeichekette daraus gemacht.

Schneidoa 01.11.2007 10:38:44

AW: FTP Verzeichnisse auslesen
 
Hab jetzt mein Skript so abgeändert.
PHP-Code:

function ftp_verzeichnisse($ftp_verbindung$verzeichnis)
{
    
$ftp_nlist ftp_nlist($ftp_verbindung$verzeichnis);
    
$anzahl count($ftp_nlist);
    
$c=0;
    for(
$i=0;$i<$anzahl;$i++){
            if (
ftp_chdir($ftp_verbindung$ftp_nlist[$i])) {
                
$ordner[$c] = $ftp_nlist[$i] ;
                
$c++;
                
$ordner[$c][] = ftp_verzeichnisse($ftp_verbindung$ftp_nlist[$i]);
                
                
            }
            
ftp_chdir($ftp_verbindung'..');
            
    }
    return 
$ordner;


aber ich bekomme jetzt zwar ein Array aber ohne Unterordner. So sieht das Array aus:
Code:

Array
(
    [0] => anon_ftp
    [1] =>
    [2] => cgi-bin
    [3] =>
    [4] => error_docs
    [5] =>
    [6] => httpdocs
    [7] =>
    [8] => httpsdocs
    [9] =>
    [10] => private
    [11] =>
    [12] => subdomains
    [13] =>
    [14] => web_users
    [15] =>
)

Überall wo jetzt keine Werte drin stehen müssten eigentlich die Unterordner sein.

Was muss ich noch verändern?

mfg.

Schneidoa 04.11.2007 17:04:20

AW: FTP Verzeichnisse auslesen
 
Kann mir niemand helfen?


Alle Zeitangaben in WEZ +2. Es ist jetzt 16:43:25 Uhr.

Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.