CMD Prompt> FTP Size Команда - PullRequest
       8

CMD Prompt> FTP Size Команда

0 голосов
/ 05 октября 2010

Я разрабатываю приложение PHP на IIS 7.5, в котором используются PHP-команды PHP.

Все это работает, кроме ftp_size().

Я проверял:

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

Однако, если я получаю доступ к 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 голосов
/ 07 октября 2010

Я только что запустил ваш код на одном из наших FTP-серверов, и он прекрасно работает. Возможно, что FTP-сервер, с которым вы тестируете, на самом деле не поддерживает команду SIZE.

Причина, по которой ваш веб-браузер работает, и я проверил это с помощью анализатора пакетов в Firefox и Internet Explorer, заключается в том, что они запускают команду LIST и анализируют результаты.

...