Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 执行find命令获取日期后修改的所有文件_Php_Exec - Fatal编程技术网

Php 执行find命令获取日期后修改的所有文件

Php 执行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

我使用shell
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'