0

PHPを使用してFTPであるファイルのプログレスバーを作成しようとしています。これを開始するには、ダウンロードするアイテムのファイルサイズを見つける必要があります。問題は、ファイルに拡張子がないことです。これは単に「マップ」です。PHPを使用するfilesize()と、いくつかのエラーがスローされます。私の仮定では、拡張機能を指定する必要があります(拡張機能でテストされ、正常に機能します)。最後にやりたいこと:

  1. リモートファイルのファイルサイズを決定する
  2. FTPダウンロードを開始します
  3. ローカルファイルにAJAX呼び出しを送信して、ファイルサイズを決定します
  4. JSで表示されるプログレスバーを増やす

私の仮定では、これは機能するはずです。つまり、拡張子を定義せずにファイルの初期サイズを決定できる場合です。

これは可能ですか、それとももっと簡単な方法がありますか?

4

1 に答える 1

4

あなたがやろうとしていること(FTPサーバーからリモートファイルをダウンロードする)を正しく理解していれば、filesize関数はローカルファイルしか処理しないため、使用できないと思います。FTPサーバー上のリモートファイルのファイルサイズを取得するには、次のようなものを使用する必要があります。

$file = '/remote/path/map';
$conn_id = ftp_connect($ftp_server);
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
$res = ftp_size($conn_id, $file);

if ($res != -1) {
    echo "size of $file is $res bytes";
} else {
    echo "couldn't get the size";
}
ftp_close($conn_id);

ftp_size関数を見てください。

于 2012-05-29T15:05:53.127 に答える