我已经使用shell find
命令列出目录中的所有文件。它工作正常。我想列出所有在指定日期后修改的文件已经使用这个命令执行find命令来创建日期后修改的所有文件
$command='touch -date "2010-01-18" /home;find.-newer /home ';
$Getfile = exec($command,$ret,$output);
但它不是事先工作.Thanks
我已经使用shell find
命令列出目录中的所有文件。它工作正常。我想列出所有在指定日期后修改的文件已经使用这个命令执行find命令来创建日期后修改的所有文件
$command='touch -date "2010-01-18" /home;find.-newer /home ';
$Getfile = exec($command,$ret,$output);
但它不是事先工作.Thanks
您可以使用目录查找,但是,建议语法 -
find ABSOLUTE_PATH -newer /home -type f
.
是当前工作目录,
(在网络环境下,可以参考DOCUMENT_ROOT + REQUEST_URI)
什么是不工作,shell命令或'exec()'调用?你得到了什么?一个错误,没有输出等... – DaveRandom
我敢打赌,如果你在shell中使用* that * find命令,它不会工作。 – hakre
-newer参数需要一个指向文件的指针,作为哪个文件应该显示为更新的参考。请参阅手册页'最近修改的文件比文件更新。如果file是一个符号链接,并且-H选项或-L选项有效,那么它始终使用它指向的文件的修改时间。“因此,您必须触摸文件而不是目录,并使用此文件作为参考,或者你只是省略了触摸并使用'-cmin <自上次修改以来的分钟数量'',因为你可以使用php来计算特定日期的分钟数。 – Rufinus