如何获取按修改时间排序的FTP文件夹中的文件

十阮文

我想获取具有ftp_nlist功能的 FTP 文件夹中的所有文件

但默认情况下,它返回一个按名称排序的数组。

我想按上次修改时间对它们进行排序。我试图-lt在文件夹路径之前添加,但它只是在每个文件名之前添加日期时间。

请帮我!

马丁·普里克里尔

没有标准方法可以让 FTP 服务器根据您的(或任何)标准对文件进行排序。

虽然一些 FTP 服务器,特别是 ProFTPD 和 vsftpd,支持使用LIST/NLST命令的专有标志来对条目进行排序。

这两个服务器都支持-t按修改时间对文件进行排序标志:

LIST -t

虽然这不仅是非标准的,而且实际上违反了 FTP 协议。

有关 ProFTPD 支持的所有选项,请参阅其手册页:http :
//www.proftpd.org/docs/directives/linked/config_ref_ListOptions.html

需要注意的是vsftpd的仅支持-a-r-t-F-l与含义的ProFTPD相同。


如果您的服务器不支持-t开关(或类似的),您唯一的选择是按原样检索具有文件属性的列表并在本地对其进行排序。

为此,您不能使用ftp_nlist,因为它仅返回文件名。

理想的解决方案是使用MLSDFTP 命令返回可靠的机器可读目录列表。但是 PHP 仅从 7.2 开始支持它的ftp_mlsdfunction检查"modify"条目。

或者,MLSDftp_rawlist命令的用户评论中有一个实现https :
//www.php.net/manual/en/function.ftp-rawlist.php#101071

MLSD在采用这种方法之前,首先检查您的 FTP 服务器是否支持,因为并非所有 FTP 服务器都支持(特别是IIS 和 vsftpd 不支持)。

或者,您可以使用ftp_rawlist. 虽然它返回文件的专有列表,但可能难以解析。但是如果您只需要支持一个特定的服务器,您可以对该服务器的解析进行硬编码。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在FTP文件夹的Dolphin 15.12.3中按“修改日期”对文件进行排序

来自分类Dev

按修改时间对文件排序

来自分类Dev

返回Groovy中按修改时间排序的文件列表

来自分类Dev

如何使用Python ftplib获取FTP文件的修改时间

来自分类Dev

获取 FTP 文件夹中修改过的文件

来自分类Dev

使用修改时间创建文件夹列表

来自分类Dev

使用boost :: filesystem :: last_write_time获取锁定文件夹的修改时间

来自分类Dev

获取FTP服务器上文件的修改时间

来自分类Dev

Java-如何从按上次修改日期排序的文件夹中打开上次更新的文件?

来自分类Dev

如何按文件修改时间对“定位”的输出进行排序

来自分类Dev

我可以列出按修改日期排序的文件夹中的文件吗?

来自分类Dev

如何使用Python获取文件夹中最后修改文件的时间

来自分类Dev

Windows批处理文件-按修改日期和/或创建日期将文件排序到文件夹中

来自分类Dev

Windows批处理文件-按修改日期和/或创建日期将文件排序到文件夹中

来自分类Dev

如何跨平台获取文件的修改时间?

来自分类Dev

在文件夹结构中获取上次修改的文件日期

来自分类Dev

在POSIX Shell中获取文件修改时间

来自分类Dev

如何按下载日期对下载文件夹中的文件进行排序?

来自分类Dev

可以使Ansible取消归档来写入静态文件夹修改时间吗?

来自分类Dev

OS X终端:一种将文件夹中每个文件的最后修改时间打印到文件的方法?

来自分类Dev

如何使用 | 打印文件的最后修改时间 在 BASH 中?

来自分类Dev

修改提取文件夹的时间

来自分类Dev

如何按子文件夹名称然后按名称对文件夹中的所有文件进行排序?

来自分类Dev

如何检查远程文件的修改时间

来自分类Dev

如何检查远程文件的修改时间

来自分类Dev

如何在Android中按文件名或日期对文件或文件夹进行升序或降序排序?

来自分类Dev

将文件复制到已安装的Samba文件夹时,禁止更新“修改时间”

来自分类Dev

将文件复制到已安装的Samba文件夹时,防止更新“修改时间”

来自分类Dev

如何使用CamlQuery按名称获取sharepoint文件夹

Related 相关文章

  1. 1

    如何在FTP文件夹的Dolphin 15.12.3中按“修改日期”对文件进行排序

  2. 2

    按修改时间对文件排序

  3. 3

    返回Groovy中按修改时间排序的文件列表

  4. 4

    如何使用Python ftplib获取FTP文件的修改时间

  5. 5

    获取 FTP 文件夹中修改过的文件

  6. 6

    使用修改时间创建文件夹列表

  7. 7

    使用boost :: filesystem :: last_write_time获取锁定文件夹的修改时间

  8. 8

    获取FTP服务器上文件的修改时间

  9. 9

    Java-如何从按上次修改日期排序的文件夹中打开上次更新的文件?

  10. 10

    如何按文件修改时间对“定位”的输出进行排序

  11. 11

    我可以列出按修改日期排序的文件夹中的文件吗?

  12. 12

    如何使用Python获取文件夹中最后修改文件的时间

  13. 13

    Windows批处理文件-按修改日期和/或创建日期将文件排序到文件夹中

  14. 14

    Windows批处理文件-按修改日期和/或创建日期将文件排序到文件夹中

  15. 15

    如何跨平台获取文件的修改时间?

  16. 16

    在文件夹结构中获取上次修改的文件日期

  17. 17

    在POSIX Shell中获取文件修改时间

  18. 18

    如何按下载日期对下载文件夹中的文件进行排序?

  19. 19

    可以使Ansible取消归档来写入静态文件夹修改时间吗?

  20. 20

    OS X终端:一种将文件夹中每个文件的最后修改时间打印到文件的方法?

  21. 21

    如何使用 | 打印文件的最后修改时间 在 BASH 中?

  22. 22

    修改提取文件夹的时间

  23. 23

    如何按子文件夹名称然后按名称对文件夹中的所有文件进行排序?

  24. 24

    如何检查远程文件的修改时间

  25. 25

    如何检查远程文件的修改时间

  26. 26

    如何在Android中按文件名或日期对文件或文件夹进行升序或降序排序?

  27. 27

    将文件复制到已安装的Samba文件夹时,禁止更新“修改时间”

  28. 28

    将文件复制到已安装的Samba文件夹时,防止更新“修改时间”

  29. 29

    如何使用CamlQuery按名称获取sharepoint文件夹

热门标签

归档