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 回答