使用PHP在Windows上更改文件创建日期

时间:2012-06-21 23:28:33

标签: php windows

在php中,我可以使用touch()

随意更改文件上次修改访问时间
<?php
touch($filename,mktime(0,0,0,2010,1,10));

...但是如何更改创建时间

为什么我需要这个?好吧,如果我在创建日期之前将文件或目录mtime反转到explorer.exe会不断向我展示最近的创建日期。

2 个答案:

答案 0 :(得分:2)

嗯,我发现的一种令人不满意但又有效的方法是:使用nircmd
Nircmd是一个37kb的实用程序。 (可再发行,封闭源,免费软件)

如何进行:

<?php

$time=strftime('%d-%m-%Y %H:%M:%S',$time);
$cmd=".\\nircmdc.exe setfilefoldertime \"$filename\" \"$time\"";
system($cmd);

注意:

  • nircmdc.exe 是nircmd的命令行版本(请注意c之前的其他.exe
  • setfilefoldertime 是一个nircmd子命令it is documented here

不过,我希望这次有一个我无法找到的COM或WMIC解决方案。

答案 1 :(得分:1)

尝试这个,你可以改变文件创建时间和修改时间

  

Win32 Console ToolBox 1.1

exec('touch.exe /c /t "file.html" '. date('H:i:s'));

nircmdc - &gt;是强大的