2013-04-27 1 views
0

내 웹 사이트 구조에 더빙이 있습니다. 루트에 config, lib 및 공용 폴더가 있습니다. config에는 config.php와 기타 유사한 내용이 들어 있고, lib에는 모든 php/html 콘텐츠 (헤더, 각 페이지 내용, 꼬리말 등)가 들어 있으며, 공용 폴더에는 index.php가있는 각 페이지의 하위 폴더가 모두 들어 있습니다. 나는 URL을 위해 이것을했다. 어쨌든,이 index.php 각각은 페이지 이름을 변수로 설정하고 config.php 파일과 module.php를 전체 내용으로 호출한다. 내 문제는 다중 레벨 서브 디렉토리 (뉴스/스포츠/풋볼)가 있기 때문에 각 index.php가 다른 설정 경로를 가지고 있다는 것입니다. "가장 깊은"파일에는 config/config.php 앞에 많은 "../"이 있습니다.다중 레벨 서브 디렉토리에서 config.php 파일에 액세스하는 방법은 무엇입니까?

여기/공공/뉴스 내부의 index.php입니다 :

<?php 
require '../../config/config.php'; 


$MainPage = 'news'; 
$CurPage = 'news'; 


include_once(LIB_PATH. 'modules.php'); 
?> 

을 따라서 경로가 모든 파일에서 동일하도록 절대 루트 디렉토리를 얻을 수있는 방법은 무엇입니까? 또한이 구조가 맞습니까?

+0

어디서 LIB_PATH가 정의되어 있고 어떤 서버를 사용하고 있습니까? – Cups

+0

LIB_PATH는 config.php와 기타 전역 정의에서 정의됩니다. 내 PC에서 EasyPhp로 작업하고 Altervista의 서버에 일시적으로 있습니다. – JohnnyCau

답변

0

어디서나 절대 경로를 사용하여 config.php를 호출 할 수 있어야합니다.

include "/config/config.php"; 

PHP의 ini_path에는 디렉토리가 없기 때문에이 작업을 수행 할 수 없습니다.

this answer의 php.ini 경로에 디렉토리를 추가하는 방법을 읽어보십시오.

-1
require $_SERVER['DOCUMENT_ROOT'].'/config/config.php'; 
+0

DOCUMENT_ROOT이 (가) 이상한 뿌리를줍니다. EasyPhp에서 별칭을 사용하고 있기 때문입니까? 또한 서버에서 나에게 이상한 경로를 제공합니다 ... – JohnnyCau