PHP ftp_nlist 时间戳

标签 php ftp

我想知道使用 ftp_nlist() 时是否可以添加文件创建/更新的时间戳。

我现在的代码:

function ftp_get_recursive_paths($conn, $path, $max_level = 0){
    $files = array();
    if($max_level < 0) return $files;
    if($path !== '/' && $path[strlen($path) - 1] !== '/') $path .= '/';
    $files_list = ftp_nlist($conn, $path);

    foreach($files_list as $f){
        if($f !== '.' && $f !== '..' && $f !== $path){
            if(strpos($f, '.') === FALSE){
                $files[$f] = ftp_get_recursive_paths($conn, $f, $max_level-1);
            }else{
                $files[] = basename($f);
            }    
        }
    }

    return $files;
}

并输出:

(
    [/folder1] => (
            [0] => file.php
            [1] => file2.php
        )

    [/folder2] => (
            [/folder2/2] => (
                )

        )

)

最佳答案

尝试使用以下代码:

function ftp_get_recursive_paths($conn, $path, $max_level = 0){
    $files = array();
    if($max_level < 0) return $files;
    if($path !== '/' && $path[strlen($path) - 1] !== '/') $path .= '/';
    $files_list = ftp_nlist($conn, $path);

    foreach($files_list as $f){
        if($f !== '.' && $f !== '..' && $f !== $path){
            if(strpos($f, '.') === FALSE){
                $files[$f] = ftp_get_recursive_paths($conn, $f, $max_level-1);
            }else{
                $mdate = ftp_mdtm($conn, $f);
                $files[] = basename($f) . " - " . date("m-d-Y H:i:s.", $mdate);
            }    
        }
    }

    return $files;
}

关于PHP ftp_nlist 时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40132282/

相关文章:

php - 修复所有警告,注意,错误是否重要?

php - MySQL - 最严格的权限

symfony1 - 如何仅通过 FTP 上传更新外部服务器上的 Symfony 路由?

php - mysql 价格范围 with 或 in range

php - 找不到 Laravel 5.1 嵌套 Controller 类

php - Phing - 如何从 svn checkout ,然后通过 ftp 和 chmod 目录上传

linux - 在Linux服务器中打开FTP以进行WordPress维护和更新

linux - FTP备份脚本认证错误

php - 清理表单数据

c# - 如何使用 FtpWebRequest 正确断开与 FTP 服务器的连接