PHP函数包括->网站未加载

时间:2018-10-09 17:19:57

标签: php function

当我尝试调用包含在整个站点上方几行的函数时,无法重新加载。

Chef::Exceptions::ValidationFailed
       ----------------------------------
       value is a required property

这就是我如何调用函数和定义的样子:

$object = 'termin';
$cache_available = check_cache($object);

有人可以告诉我是什么原因引起的错误。

未加载的说明: ---当我导航到浏览器中的文件夹(本地主机,xampp)并单击该文件以打开该文件时,它会加载一小段时间,然后再次显示该目录。

3 个答案:

答案 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;
}