php wget并提供上次修改的时间

时间:2013-07-24 13:31:12

标签: wget

我知道wget有一个-N功能,(以及非标头发送协议(如FTP)的时间戳选项),但我如何指定wget的时间和日期。

例如;我不想比较本地和远程文件,我想直接指定wget使用的时间和日期。我知道以下内容不正确,它只是用于示例的目的:

wget -N **--jan-2-2013-05:00** r ftp://user:myPassword@ftp.example.com/public_html

是否可以在检查上次修改时为wget提供时间戳?

1 个答案:

答案 0 :(得分:0)

没有这样的选择。

在wget中,时间戳行为非常自动。当您使用--timestamping或-N选项时,如果出现以下情况,则不会下载该文件:

a)该文件已在本地存在

b)文件在本地和远程具有相同的大小

c)远程文件的时间戳等于或早于本地文件的时间戳(在http中与Last-Modified头比较)

所以你可以模仿你所要求的行为:

  1. 使用与之相同的大小创建要下载的文件 那些在偏远地区(a + b条件)
  2. 触摸文件,使其具有所需的时间戳(c 条件)
  3. 示例:

    对于单个文件,我们已经知道的名称让我们说大小为7348的foo.txt,我们希望在2013-07-24T14:27之后只获得更新的文件:

    dd if=/dev/zero of=foo.txt bs=1 count=7348
    touch -t 201307241427 foo.txt
    

    现在,如果您使用wget -N http://url/path/foo.txt,wget将像您要求的那样工作