想要计算包含特定文件的时间 - php

时间:2015-03-05 14:46:42

标签: php

实际上我正在修改由其他开发人员制作的客户端的旧脚本,他所做的是,他多次包含同一个文件,如config file,这会导致一些变量覆盖,我只想数一下特定文件包含在完整页面执行中的次数,例如加载配置文件的次数,如果我可以获得包含这些文件的行号和文件名,则会更好。

如果有任何办法可以做到这一点,那将有所帮助。

感谢。

1 个答案:

答案 0 :(得分:1)

如果可以的话,最好在包含的文件中完成。在其开头添加一行,例如track_inclusion(__FILE__);。像这样定义函数:

function track_inclusion($filename=null) {
    static $inclusions = array();
    if( !$filename) return $inclusions;

    if( !isset($inclusions[$filename])) $inclusions[$filename] = array();
    $trace = debug_backtrace();
    foreach($trace as $t) {
        if( !preg_match("/^(?:include|require)(?:_once)?$/i",$t['function'])) continue;

        $inclusions[$filename][] = $t;
        break;
    }
}

然后,一旦完成所有操作,您可以致电track_inclusion()来检索包含数据并var_dump将其外观看看 - 一旦您看到它给您的结构,您就可以可以用更有意义的方式呈现它。