我有一個可用的FTP文件下載腳本。
我下載的文件大約每天2-4 GB。
我想知道是否有一種方法來獲取文件的百分比?PHP顯示ftp_get進度的百分比?
我看過php.net和這裏,但我找不到任何類似的問題,而是花更多的時間看我想我會問人比我更聰明。
我在想如果有一個函數可以看到它在下載的位置,但我找不到一個,因爲ftp_get
必須先完成,以便消除每隔幾秒刷新一次緩衝區的機會新的百分比。
有人嗎?
這是我的代碼:我隱藏了所有的變量。
$conn_id = ftp_connect($ftp_server);
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
if (ftp_get($conn_id, $local_file, $server_file, FTP_BINARY)) {
echo "Successfully written to $local_file\n";
} else {
echo "There was a problem\n";
}
ftp_close($conn_id);
編輯:
我加入ftp_nb_get
這裏是我的代碼。它保持正常下載,只是不會將它回顯給瀏覽器。
$ret = ftp_nb_get($conn_id, $local_file, $server_file, FTP_BINARY, $size);
while ($ret == FTP_MOREDATA) {
echo round((filesize($local_file)/$server_size)*100)."%\n";
$ret = ftp_nb_continue($conn_id);
}
您可能最終會使用類似於此的方法:http://stackoverflow.com/questions/2885468/getting-ftp-put-progress作爲基本的ftp_put/get本身不支持任何形式的回調或通過ajax檢查中間結果。 – ahillman3