在Config中为require文件设置服务器路径?

时间:2015-05-28 15:43:23

标签: php

所以我有一个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!
});

2 个答案:

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