Rekursive PHP-Funktion nicht verfügbar

Bash, Shell, PHP, Python, Perl, CGI
sebstof
Posts: 16
Joined: 2003-03-25 16:29

Rekursive PHP-Funktion nicht verfügbar

Post by sebstof » 2005-01-20 10:57

Hallo,

auf meinem Server (Suse 9.1, apache 2.0, php 4.3.4) lassen sich die Verzeichnisse nicht rekursiv lesen: ($conn, "-alR $dir");

Muss ich diese Funktion irgendwo aktivieren?

r00ty
Posts: 747
Joined: 2003-03-17 15:32

Re: Rekursive PHP-Funktion nicht verfügbar

Post by r00ty » 2005-01-21 07:37

sorry, kannst du mal ein wenig mehr posten wie das script aussieht ? aus dem String werd ich nicht schlau....

suntzu
Posts: 669
Joined: 2002-12-20 19:47
Location: Mönchengladbach

Re: Rekursive PHP-Funktion nicht verfügbar

Post by suntzu » 2005-01-21 07:45

sebstof wrote:($conn, "-alR $dir");
- Das ist keine Rekursion innerhalb von PHP
- Da fehlt noch ein `ls`
- Was genau tut nicht?
- Darfst du überhaupt Systembefehle ausführen?

sebstof
Posts: 16
Joined: 2003-03-25 16:29

Re: Rekursive PHP-Funktion nicht verfügbar

Post by sebstof » 2005-01-21 10:09

SunTzu wrote:
sebstof wrote:($conn, "-alR $dir");
- Das ist keine Rekursion innerhalb von PHP
- Da fehlt noch ein `ls`
- Was genau tut nicht?
- Darfst du überhaupt Systembefehle ausführen?
Das Script soll die Gesamtgröße aller Dateien in einem bestimmten Verzeichnis (und dessen Unterordnern) ermitteln. Die Inhalte der Unterordner werden jedoch nicht berücksichtigt. Das soll nun daran liegen, dass die Rekurive Auslesung aufgrund der spezifischen Serverkonfiguration nicht möglich ist. Kann das sein?
- Darfst du überhaupt Systembefehle ausführen?
Das ganze läuft ausschliesslich über den FTP-Zugang. Können da Beschränkungen vorliegen (kopieren, umbenennen, löschen, erstellen - funktioniert auf diesem Wege)?
sorry, kannst du mal ein wenig mehr posten wie das script aussieht ? aus dem String werd ich nicht schlau....
Hier die (vollständige?) Funktion:

Code: Select all

function getSize($dir,$recurse){$conn=@ftp_connect($_SESSION['s3']);if(@ftp_login($conn, $_SESSION['s4'], $_SESSION['s5'])){if($recurse==1)$temp=ftp_rawlist($conn,"-alR $dir");else        $temp=ftp_rawlist($conn,"-al $dir");foreach($temp as $file){if(ereg("([-d][rwxst-]+).* ([0-9]) ([a-zA-Z0-9]+).* ([a-zA-Z0-9]+).* ([0-9]*) ([a-zA-Z]+[0-9: ]*[0-9]) ([0-9]{2}:[0-9]{2}) (.+)", $file, $regs)){$isdir=(substr($regs[1],0,1)=="d");if(!$isdir)$size+=$regs[5];}}return $size;@ftp_close($conn);}} 

Danke!

suntzu
Posts: 669
Joined: 2002-12-20 19:47
Location: Mönchengladbach

Re: Rekursive PHP-Funktion nicht verfügbar

Post by suntzu » 2005-01-21 10:17

Hi,

ist $recurse vielleicht gar nicht gesetzt?

sebstof
Posts: 16
Joined: 2003-03-25 16:29

Re: Rekursive PHP-Funktion nicht verfügbar

Post by sebstof » 2005-01-21 10:38

SunTzu wrote:Hi,

ist $recurse vielleicht gar nicht gesetzt?
Doch, wird beim Aufruf übergeben:

Code: Select all

size=getSize($dir,1);