Der ?-würdige: Max. Ausführungszeit.

Wie kann ich die Max. Ausführungszeit von 30 Sek heraufsetzen? Mein script soll über Rekursive FTP-Commands eine Komplette Dateiliste erstellen. Das dauert allerdings selbst bei 12 Dateien schon länger als 3Sek!!! Hier mein Code:

<?PHP
$FTPStream = ftp_connect("ftp.mitglied.lycos.de");
ftp_login($FTPStream, "xxx", "yyy");
ftp_pasv($FTPStream, 1);
GetFiles("/", $FTPStream);

function GetFiles($CurDir, $FTPStream) {
  $CurFiles = ftp_nlist($FTPStream, $CurDir);
  for($i = 0; $i < count($CurFiles); $i++) {
    if(ftp_size($FTPStream, $CurFiles[$i]) == -1) {
      GetFiles($CurFiles[$i], $FTPStream);
    }
    else {
      echo $CurFiles[$i];
      echo "\n";
    }
  }
}

ftp_quit($FTPStream);
?>

  1. Wie kann ich die Max. Ausführungszeit von 30 Sek heraufsetzen?

    in der php.ini, die im windows/winnt-verzeichnis liegt, gibt es den eintrag:
    max_execution_time = 30

    gruß, lindicz

    1. Jo! wenn ich aber auf lycos bin, hab ich darauf keinen Zugriff...

      Es ging wir ja auch eher um eine lösung des Problems...

      PeterK

      1. http://www.bytecamp.net/ bestes preisleistungs verhältniss das ich kenne
        http://www.puretec.de/ wenn du alles delüüxx haben willst ^^

        so wie ich das sehe bist du gut fit mit php wenn du das selberentwickelt hast...da kann man doch keinen webspace bei lycos mehr haben...

        kein geld?!
        http://www.php-archiv.de/index2.html => Scripts => Gratis Speicherplatz mit PHP

        mfg Till

  2. Hi,

    <?PHP
    $FTPStream = ftp_connect("ftp.mitglied.lycos.de");
    ftp_login($FTPStream, "xxx", "yyy");
    ftp_pasv($FTPStream, 1);
    GetFiles("/", $FTPStream);

    function GetFiles($CurDir, $FTPStream) {
      $CurFiles = ftp_nlist($FTPStream, $CurDir);
      for($i = 0; $i < count($CurFiles); $i++) {
        if(ftp_size($FTPStream, $CurFiles[$i]) == -1) {
          GetFiles($CurFiles[$i], $FTPStream);
        }
        else {
          echo $CurFiles[$i];
          echo "\n";
        }
      }
    }

    ftp_quit($FTPStream);
    ?>

    kann es sein, daß Dein Skript ab der 1. Verzeichnisebene Murks baut?
    Du wechselst ja nicht das Verzeichnis, deswegen wird es bei Unter-Unterverzeichnissen diese im Hauptverzeichnis anlisten wollen,
    daraufhin bei ftp_size ein FALSE zurückbekommen, versuchen, den ersten Eintrag (undefined oder Leerstring?) als Verzeichnis anzusprechen, usw.
    Das mündet in eine Endlosschleife.
    Denke ich...

    Schönen Gruß aus Bilk

    Rainer

    1. Also..

      Der Code ist so aufgebaut, dass er nur mit absoluten Pfadangaben arbeitet. Außerdem hat er ja funktioniert -- bis auf die Fehlermeldung, dass das RunTime-Limit überschritten ist...

      Außerdem - weiss jemand ob lycos ftp_connect verboten hat? Ich hab das script hochgeladen, und da sagt er 'undefined sub called at...', obwohl er bei PHP-Info ftp_connect nicht als verboten angibt.

      PeterK

      1. Hi,

        Der Code ist so aufgebaut, dass er nur mit absoluten Pfadangaben arbeitet. Außerdem hat er ja funktioniert -- bis auf die Fehlermeldung, dass das RunTime-Limit überschritten ist...

        Probier doch trotzdem vielleicht mal

        function GetFiles($CurDir, $FTPStream) {
          $CurFiles = ftp_nlist($FTPStream, $CurDir);
          for($i = 0; $i < count($CurFiles); $i++) {
            if(ftp_size($FTPStream, $CurFiles[$i]) == -1) {
              ftp_chdir($FTPStream, $CurFiles[$i]);
              GetFiles('.', $FTPStream);
              ftp_cdup($FTPStream);
            }
            else {
              echo $CurFiles[$i];
              echo "\n";
            }
          }
        }

        Die Fehlermeldung liegt evtl. daran daß Du die Funktion erst nach ihrem ersten Aufruf definierst.

        Schönen Gruß aus Bilk

        Rainer