PHP获取目录的创建时间
在php中,是否仍然可以找到目录的创建时间?我尝试了PHP获取目录的创建时间,php,Php,在php中,是否仍然可以找到目录的创建时间?我尝试了filectime,但这只适用于文件。它应该适用于目录,这是我得到的: $ php -r "echo filectime(__DIR__);" 1311596297 在unix中,文件夹也是文件。所以这也应该适用 $folder = 'includes'; echo date ("F d Y H:i:s.", filemtime($folder)); 输出为 October 06 2010 20:20:58. 您可以使用PHP: 收集按
filectime
,但这只适用于文件。它应该适用于目录,这是我得到的:
$ php -r "echo filectime(__DIR__);"
1311596297
在unix中,文件夹也是文件。所以这也应该适用
$folder = 'includes';
echo date ("F d Y H:i:s.", filemtime($folder));
输出为
October 06 2010 20:20:58.
您可以使用PHP:
收集按文件名命名的文件的统计信息。如果文件名是符号链接,则统计信息来自文件本身,而不是符号链接
示例:
<?php
$stat = stat('/your/path');
echo $stat['ctime'];
?>
它以Unix时间戳的形式返回创建时间。如果(它不起作用)
尝试clearstatcache()在您的文件时间函数之前
$filename='dirname';
date ("F d Y H:i:s.", filectime($filename))
它会起作用。试试这个:
$filename = 'media/';
echo "$filename was created modified: ".date("F d Y H:i:s.", filectime($filename));
我在Linux服务器上测试了函数filectime()和filemtime(),它们都是 也可以在目录上正确工作,因为它们返回时间戳 然后,我尝试获取一个目录的最后修改日期,通过FTP重命名它,然后再次检查它,发生了一件奇怪的事情:
对于您的测试,我还建议您查看clearstatcache()函数(我在测试中也使用了该函数)以清除文件系统信息的PHP缓存。否。不可靠。 这是因为正如Gordon在评论中指出的那样,
ctime
不是关于创造,而是关于改变。因此,虽然filectime()
可以在目录上工作(至少在Unix机器上),但它很可能不会给出您要查找的日期。请参见以下页面上的注释:
还要注意,在某些Unix文本中,文件的ctime被称为文件的创建时间。这是错误的。在大多数Unix文件系统中,Unix文件没有创建时间
换句话说,在目录中创建新文件可能会更改目录的
ctime
。如果您真的需要跟踪创建时间,您需要自己实现内务管理。(侧注)filectime
是Linux上的更改时间。它只在Windows上返回创建时间。谢谢,原来我指定的文件夹路径不正确。请注意上面Gordon的评论:filectime
将为您提供Unix服务器上上次更改的时间,该时间可能与创建时间相同,也可能与创建时间不同。
$filename = 'media/';
echo "$filename was created modified: ".date("F d Y H:i:s.", filectime($filename));