CMD提示> FTP大小命令

时间:2010-10-05 12:24:52

标签: php ftp cmd iis-7.5

我正在IIS 7.5上开发一个PHP应用程序,它使用PHP FTP命令。

除了ftp_size()之外,这些都有效。

我测试过了:

cmd.exe > ftp host > username > password > SIZE filename = Invalid Command

但是,如果我通过Internet浏览器访问FTP站点,则会显示文件大小。

我是否需要安装FTP扩展程序,如果是,我应该在哪些地方安装它们?

这是PHP代码:

<?php
// FTP Credentials
$ftpServer = "www.domain.com";
$ftpUser = "username";
$ftpPass = "password";

// Unlimited Time
set_time_limit(0);

// Connect to FTP Server
$conn = @ftp_connect($ftpServer)
or die("Couldn't connect to FTP server");

// Login to FTP Site
$login = @ftp_login($conn, $ftpUser, $ftpPass)
or die("Login credentials were rejected");

// Set FTP Passive Mode = True
ftp_pasv ($conn, true);

// Build the file list
$ftp_nlist = ftp_nlist($conn, ".");

// Alphabetical sorting
sort($ftp_nlist);

// Display Output
foreach ($ftp_nlist as $raw_file) {
    // Get the last modified time
    $mod = ftp_mdtm($conn, $raw_file);
    // Get the file size
    $size = ftp_size($conn, $raw_file);
    // Size is not '-1' => file
      if (!(ftp_size($conn, $raw_file) == -1)) {
        //output as file
        echo "Filename: $raw_file<br />";
        echo "FileSize: ".number_format($size, '')."Kb</br>";
        echo "Last Modified: ".date("d/m/Y H:i", $mod)."</br>";
      }
}
?>

1 个答案:

答案 0 :(得分:0)

我刚刚在我们的一个FTP服务器上运行你的代码,它运行得很好。您测试的FTP服务器很可能实际上并不支持SIZE命令。

您的网络浏览器工作的原因,我使用针对Firefox和Internet Explorer的数据包嗅探器进行了检查,原因是他们发出LIST命令并解析结果。