如何通过FTP从远程服务器获取文件名列表?

时间:2016-07-08 18:04:33

标签: php codeigniter ftp

我需要使用PHP FTP在网页中显示文件名,并且列表必须按时间戳排序。我怎么能这样做?

1 个答案:

答案 0 :(得分:1)

您将需要:

  1. 开始与FTP服务器(ftp_connect)连接。
  2. 登录FTP(ftp_login)。
  3. 获取文件列表(ftp_nlist)。
  4. 获取每个文件的时间戳(ftp_mdtm)。
  5. 按timpestamp排序文件并排除文件夹。
  6. 请参阅我的代码示例:

    <?php
    define('FTP_URL', '');
    define('FTP_USERNAME', '');
    define('FTP_PASSWORD', '');
    define('FTP_DIRECTORY', '');
    
    //Connect ot FTP
    $ftp = ftp_connect(FTP_URL);
    //Login to FTP
    ftp_login($ftp, FTP_USERNAME, FTP_PASSWORD);
    //Get files
    $filesAndFolders = ftp_nlist($ftp, FTP_DIRECTORY);
    $dates = array();
    $files = array();
    foreach ($filesAndFolders as $key => $file) {
        //Get date
        $date = ftp_mdtm($ftp , $file);
        if ($date !== -1) {//Filter folders
            $files[] =  $file;
            $dates[] = $date;
        }
    }
    //Sort files by date
    array_multisort($dates, SORT_DESC, $files);
    
    //Render files list
    echo '<ul>';
    foreach ($files as $file) {
        echo '<li>' . $file . '</li>';
    }
    echo '</ul>';