我正在尝试为使用PHP的FTP创建文件的进度条。首先,我需要找到要下载的项目的文件大小。问题是该文件没有扩展名-只是“地图”。使用PHP的filesize()
时会抛出一些错误。我的假设是,它需要指定一个扩展名(使用扩展名进行测试并且可以正常工作)。最后我想做的是:
确定远程文件的文件大小
开始下载FTP
向本地文件发送AJAX调用以确定其文件大小
使用JS增加显示的进度栏
我的假设是这应该有效-也就是说,如果我可以在没有定义扩展名的情况下确定文件的初始大小。
这可能吗,或者还有另一种方法可能更容易证明吗?
最佳答案
如果我正确理解了您要做什么(从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 function。