从php中包含的文件中获取父文件的路径,我不需要文件夹路径,但包含页面的完整路径

时间:2015-09-06 06:41:23

标签: php php-include

我有一个可以包含在不同地方的php文件。我需要根据包含文件对要显示的内容有一些规则。

使用$_SERVER['REQUEST_URI']返回页面本身的路径,而不是包含它的父文件。

2 个答案:

答案 0 :(得分:2)

尝试:

<?php
echo $_SERVER['SCRIPT_FILENAME'];

完整列表可在PHP website上找到。

答案 1 :(得分:0)

我使用spl_autoload_register,因此在使用类的实例时会加载文件。我将所有全局函数作为类的公共静态函数。我的页面中只有一个包含:

require "autoload.php";

页面名称是扩展名为.php的类的名称。这是我的autoload.php页面的代码:

<?php
function my_autoload($sClassName)
{
    // LOAD THE CLASS.
    for($loop=0;$loop < strlen($sClassName);$loop++)
    {
        $thischar = substr($sClassName,$loop,1);
        if (($thischar != "_") && ((!ctype_alnum($thischar)) || (ctype_digit($thischar))))
        {
            // INVALID CLASS NAME.
            echo 'Class ' . $sClassName . ' has invalid characters.';
            return;
        }
    }
    $filename = dirname(__FILE__) . '/' . strtolower($sClassName) . '.php'; 
    if (file_exists($filename))
    {
        require($filename);
    } else
    {
        echo 'Error: file ' . $filename . ' not found looking for class ' . $sClassName;
    }
    return;
}
spl_autoload_register("my_autoload");
?>