Php 执行find命令获取日期后修改的所有文件
我使用shellPhp 执行find命令获取日期后修改的所有文件,php,exec,Php,Exec,我使用shellfind命令列出目录中的所有文件。它工作正常。我想列出在指定日期后修改的所有文件。我使用了此命令 $command='touch -date "2010-01-18" /home;find.-newer /home '; $Getfile = exec($command,$ret,$output); 但它不起作用。请提前感谢在当前目录中查找特定日期后修改的所有文件 $command='touch -t 201001180000 /tmp/timestamp; find . -t
find
命令列出目录中的所有文件。它工作正常。我想列出在指定日期后修改的所有文件。我使用了此命令
$command='touch -date "2010-01-18" /home;find.-newer /home ';
$Getfile = exec($command,$ret,$output);
但它不起作用。请提前感谢在当前目录中查找特定日期后修改的所有文件
$command='touch -t 201001180000 /tmp/timestamp; find . -type f -newer /tmp/timestamp'
在当前目录中查找特定日期后修改的所有文件
$command='touch -t 201001180000 /tmp/timestamp; find . -type f -newer /tmp/timestamp'
您可以使用directory进行查找,但是,建议的语法是--
是当前工作目录,(在web环境中,可以参考文档_ROOT+请求_URI)您可以使用目录进行查找,但是,建议的语法是--
是当前工作目录,(在web环境中,可以参考文档_ROOT+请求_URI)什么不起作用,是shell命令还是
exec()
调用?你得到了什么?一个错误,没有输出等…我打赌如果在shell中使用find命令,它将无法正常工作,-newer参数需要一个指向文件的指针,作为它应该显示为较新文件的引用。请参阅手册页文件的修改时间比文件更新。如果文件是符号链接,并且-H选项或-L选项有效,则始终使用它指向的文件的修改时间。
因此,您必须触摸文件而不是目录,并将此文件用作参考,或者您只需在使用php时使用-cmin
计算特定日期的分钟数就好了。@DaveRandom我正在获取此文件夹中的所有文件。如果/当您将脚本移植到Windows或其他操作系统时,您可以对其进行更精细的控制,而不会有破坏脚本的风险,如果您使用opendir()
和filemtime()
组合来执行此任务,则不必解析另一个命令的输出…什么不起作用,shell命令还是exec()
调用?你得到了什么?一个错误,没有输出等…我打赌如果在shell中使用find命令,它将无法正常工作,-newer参数需要一个指向文件的指针,作为它应该显示为较新文件的引用。请参阅手册页文件的修改时间比文件更新。如果文件是符号链接,并且-H选项或-L选项有效,则始终使用它指向的文件的修改时间。
因此,您必须触摸文件而不是目录,并将此文件用作参考,或者您只需在使用php时使用-cmin
计算特定日期的分钟数就好了。@DaveRandom我正在获取此文件夹中的所有文件。如果/当您将脚本移植到Windows或其他操作系统时,您可以对其进行更精细的控制,而不会有破坏脚本的风险,如果您使用opendir()
和filemtime()
的组合来执行此任务,则不必解析另一个命令的输出…我可以指定另一个目录吗?当然,$command='touch-t 201001180000$path1;查找$path2-键入f-更新的$path1'我可以指定另一个目录吗?绝对可以,$command='touch-t 201001180000$path1;查找$path2-类型f-更新的$path1'