当我尝试调用包含在整个站点上方几行的函数时,无法重新加载。
Chef::Exceptions::ValidationFailed
----------------------------------
value is a required property
这就是我如何调用函数和定义的样子:
$object = 'termin';
$cache_available = check_cache($object);
有人可以告诉我是什么原因引起的错误。
未加载的说明: ---当我导航到浏览器中的文件夹(本地主机,xampp)并单击该文件以打开该文件时,它会加载一小段时间,然后再次显示该目录。
答案 0 :(得分:0)
该check_cache看起来不正确。开头的路径检查错误,返回的语句较长。与如果和其他。我重写了它,尝试一下,看看它是否有效。
function check_cache($object) {
$file = __DIR__ . '/../../cache/' . $object . '.json';
if(file_exists($file)){
$time_cache = date ("H:i:s", filemtime($file));
$time_now = date("H:i:s");
$diff = strtotime($time_now) - strtotime($time_cache);
return $diff <= 60;
}
return false;
}
答案 1 :(得分:0)
首先,需要调试filemtime()函数,以查看是否可能发现错误。
第二,您的文件路径可能是问题
第三,您的时间格式不相关。我建议您使用相同的格式,即
$time_cache = date ("H:i:s", filemtime($file));
$time_now = date ("H:i:s");//the a has been removed
$diff = strtotime($time_now) - strtotime($time_cache);
答案 2 :(得分:0)
因此$ diff的单位是秒。可能是文件的显示依赖于此函数的值为true的情况,并且仅在将文件写入高速缓存一分钟后才如此吗?我确实没有足够的信息继续进行下去,但是该代码应该可以按预期工作。我测试了您的功能,它在我的机器上按预期工作。我们可以看到一段时间后返回目录的页面代码吗?我仍然不太明白你在说什么。
可以清理一下,这是我的建议,很抱歉成为那个人。
function check_cache($object)
{
$file = '../../cache/' . $object . '.json';
if(file_exists($file)){
$time_cache = date ("H:i:s", filemtime($file));
return strtotime("now") - strtotime($time_cache) <= 60;
}
return false;
}
或
function check_cache($object)
{
$file = '../../cache/' . $object . '.json';
return file_exists($file) ? strtotime("now") - filemtime($file) <= 60 : false;
}