所以我有一个Config文件设置,我无法使用简单的../等。我需要能够使用完整的服务器路径,如果可能的话。我有多个页面的原因,我有这个包括但有些是在实际的主文件夹,包含类文件夹。因为我要求我得到错误,如Classes / class.php找不到。这有意义吗?
这是我的Config文件可能更有意义:
<?php
session_start();
$GLOBALS['config'] = array(
'mysql' => array(
'host' => 'url',
'username' => 'user',
'password' => 'pass',
'db' => 'table'
),
'sitekey' => array(
// DO NOT MODIFY!!
'uniquekey' => 'Unique Key for Authentication'
)
);
spl_autoload_register(function($class) {
require_once '../classes/' . $class . '.php'; << need to modify!
});
答案 0 :(得分:1)
使用__DIR__。
require_once __DIR__.'/../classes/' . $class . '.php'; // full path
答案 1 :(得分:0)
这是一个讨厌的,肮脏的黑客,我在一段时间前拼凑起来帮助我的同事(他们是设计师,而不是开发人员,不关心讨厌,肮脏的黑客)。
$depth = substr_count(substr($_SERVER['PHP_SELF'],1),'/');
$path = "";
if ($depth > 0) { for ($i=0;$i < $depth;$i++) { $path .= '../'; } }
这将足够数量的&#34; ../"让你回到域根。然后,您可以在之后添加$path .= 'subdirectory/';
,如果它不在根本身,则会遍历到您网站的根目录。
然后,您可以在需要变量相对路径的地方调用$path
。