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

Php 如何通过FTP从远程服务器获取文件名列表?,php,codeigniter,ftp,Php,Codeigniter,Ftp,我需要使用PHP FTP在网页中显示文件名,列表必须按时间戳排序。我如何才能做到这一点?您需要: 启动与FTP服务器的连接(FTP\U连接) 登录到FTP(FTP\U登录) 获取文件列表(ftp列表) 获取每个文件的时间戳(ftp\u mdtm) 按timpestamp对文件排序并排除文件夹 请参见我的代码示例: <?php define('FTP_URL', ''); define('FTP_USERNAME', ''); define('FTP_PASSWORD', ''); defi

我需要使用PHP FTP在网页中显示文件名,列表必须按时间戳排序。我如何才能做到这一点?

您需要:

  • 启动与FTP服务器的连接(FTP\U连接)
  • 登录到FTP(FTP\U登录)
  • 获取文件列表(ftp列表)
  • 获取每个文件的时间戳(ftp\u mdtm)
  • 按timpestamp对文件排序并排除文件夹
  • 请参见我的代码示例:

    <?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>';