2016-09-26 47 views
2

我有我的分貝Connect是包含在我的頭在localhost定義URL功能衰竭

當我回聲出

<?php echo $_SERVER['DOCUMENT_ROOT'];?> 

結果C:/ Program Files文件(86)/的Zend/Apache24/htdocs中

當路徑應該是

C:/ Program Files文件(86)/的Zend/Apache24/htdocs中/ mycms

如果我使用下面的

<?php include($_SERVER['DOCUMENT_ROOT'] . '/mycms/modules/int.php');?> 

它的工作原理,但,但有什麼辦法讓的路徑在沒有添加硬編碼文件夾?

我也試過這種

<?php include($_SERVER['SERVER_NAME']. dirname($_SERVER['PHP_SELF'] . '/modules/int.php'));?> 
+0

在空間,你將包括定義的常量? – bassxzero

+0

你需要文件夾路徑不是'http://',試試這個'define('ROOT_URI','mycms');' – devpro

+0

你有沒有包含那個函數文件之前你嘗試使用常量? PHP不能時間旅行,並且不會爲您追溯重新定義事物。 –

回答

0

據說你想是這樣的:

<?php 
    // ASSUMING THE CURRENT FILE IS IN THE DIRECTORY: "mycms" 
    defined('SITE_ROOT') or define('SITE_ROOT', __DIR__); 
    defined('ROOT_URI') or define('ROOT_URI', 'http://localhost/mycms'); 

    include(SITE_ROOT . '/modules/int.php'); 

    // AND NOT 
    include(ROOT_URI . '/modules/int.php');