我有一个有效的 FTP 文件下载脚本。
我下载的文件每天大约 2-4 GB。
我想知道是否有办法获取文件所在位置的百分比?
我在 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);
}