0

選択したフォルダーとすべてのサブフォルダーのサイズを取得するコードを作成しましたが、直面している問題は、ループでサイズカウンターをインクリメントできないことです。

function getsize($username,$password,$server,$dir){
    $connid = ftp_connect($server);

    //ini_set('xdebug.max_nesting_level',500);
    $connid = ftp_connect($server);
    $login_result = ftp_login($connid, $username, $password);
    $total_size = 0;
    $contents_on_server = ftp_nlist($connid, $dir);
    foreach($contents_on_server as $user_file) {
        if(ftp_size($connid,$user_file) == -1){
            $directory = $user_file;
            $obj = new FTP();
            $obj->getsize($username,$password,$server,$directory);  
        }
        else{
            //$file_size = ftp_size($connid,$user_file);
            $total_size += ftp_size($connid,$user_file);
        }
    }
    echo $total_size;

}"

$total_size出力すると192944122391740、3 つのファイルすべてのサイズが追加されますが、合計はされません。

何か助けて??

4

1 に答える 1

0

$total_size をゼロにリセットして問題を引き起こしている同じ関数 getsize を繰り返しています。クラスにsetsizeオブジェクトを作成し、各反復で値を設定し、最終呼び出しでオブジェクトをリセットします。

于 2013-05-28T10:21:50.510 に答える