在php中的sleep()之后不重新分配值

在php中的sleep()之后不重新分配值,php,ubuntu,Php,Ubuntu,如果文件在同一天更新,我需要检查和更新文件。如果较旧,请使脚本休眠一段时间,然后再次检查文件更新时间。问题是我用来重新分配文件时间的变量不起作用。如果文件在脚本运行期间更新,则保留较旧的时间而不是更新的时间。请帮帮我 使用filemtime获取文件更新时间。 使用while循环检查时间 提前谢谢 谢谢你的快速回复。这是密码 $current_date=date("Y-m-d 00:00:00"); $file_update_time=date("Y-m-d H:i:s", filemtime("

如果文件在同一天更新,我需要检查和更新文件。如果较旧,请使脚本休眠一段时间,然后再次检查文件更新时间。问题是我用来重新分配文件时间的变量不起作用。如果文件在脚本运行期间更新,则保留较旧的时间而不是更新的时间。请帮帮我

使用filemtime获取文件更新时间。 使用while循环检查时间

提前谢谢

谢谢你的快速回复。这是密码

$current_date=date("Y-m-d 00:00:00");
$file_update_time=date("Y-m-d H:i:s", filemtime("/path/filename"));

while(new DateTime($file_update_time) < new DateTime($current_date))
{
sleep (120);
$file_update_time=date("Y-m-d H:i:s", filemtime("/path/filename"));
}
$current_date=日期(“Y-m-d 00:00:00”);
$file_update_time=date(“Y-m-dh:i:s”,filemtime(“/path/filename”);
while(新日期时间($file\u update\u time)<新日期时间($current\u date))
{
睡眠(120);
$file_update_time=date(“Y-m-dh:i:s”,filemtime(“/path/filename”);
}

函数总是返回相同结果的原因是该函数的结果正在被缓存。有关详细信息,请参阅clearstatcache()

无需将
date()
函数与
Datetime
混合使用

while(new DateTime('@'.filemtime('/path/filename')) < new DateTime('today')) {
    sleep(120);
    clearstatcache();
}
while(新日期时间('@'.filemtime('/path/filename'))
给我们提供一些代码怎么样?(阅读手册会产生奇迹。)1)是否
new DateTime
返回与“该概念运行良好,但唯一的问题是$file\u update\u时间在睡眠后没有重新分配感谢该解决方案,将尝试让您知道其工作情况。嗨,Glavic,很抱歉,我没有尝试您的解决方案,因为我找到了另一个解决方案(每20分钟运行一次脚本,并根据修改后的时间更新文件)…但我计划尝试一下…会尽快通知您