2012-02-19 3 views
1

내 파일을 포함 할 수 없습니다,하지만 난 할 수없는 몇 가지 이유 ...을 위해 여기 는 내 파일을 포함하려고

내 구조 :
index.phpenter image description here

가하는 include_once('includes/php/inc.php');있다 . inc.php 다음 행이 포함

// Required classes 
require_once '../classes/cl_calendar.php'; 

가 완벽하게 합법적 인 나는 생각한다, 그러나 어떤 이유로 내가 할 모든이 오류입니다 : 표시 할이 오류를하게하고 어떻게 제거합니까 무엇

Warning: require_once(../classes/cl_calendar.php): failed to open stream: No such file or directory in /customers/xxx/xxx/httpd.www/new/extra/php/inc.php on line 14 Fatal error: require_once(): Failed opening required '../classes/cl_calendar.php' (include_path='.:/usr/share/php') in /customers/xxx/xxx/httpd.www/new/extra/php/inc.php on line 14 

그것?

+0

물론 경로가 잘못되었습니다. index.php가 include 폴더에 있다면 (올바른 폴더가 아니어야 함) 올바른 경로는'classes/file.php '가됩니다. – markus

+0

'index.php'는 includes 폴더에 없습니다 ... – Michiel

+0

그래서 루트에 있습니다. 올바른 경로는'includes/classes/file.php'입니다. 왜 .. ..? 이것은 당신에게 루트 이상의 한 수준을 이끌 것입니다. – markus

답변

1

은/클래스/file.php 포함하려고. 왜 ..? 이것은 당신에게 루트 이상의 한 수준을 이끌 것입니다.

두 가지 포함 된 파일의 상대적인 관계가 다른 경우에도 색인 파일에서 포함하므로 경로는 색인 파일과 관련되어야합니다.

1

다른 파일의 PHP 파일을 포함하는 경우 파일의 내용을 가져 와서 (index.php) 파일에 저장하는 것과 같습니다. 따라서 inc.php 파일에서 더 많은 파일을 요구할 때 이는 초기 파일의 경로를 기반으로합니다. index.php 파일에서 기본 경로를 설정하고 inc.php 파일에서 기본 경로를 사용해보세요.

// index.php 
$base = "/var/www/htdocs/"; 
// or something like dirname(__FILE__) if it may change 
include_once($base.'includes/php/inc.php'); 

// inc.php 
require_once($base.'classes/cl_calendar.php'); 
+0

네, 고마워요. 하지만 이것을 시도 할 때 다음과 같은 경고가 발생합니다.'경고 : include_once() : open_basedir 제한이 적용됩니다. 파일 (/var/www/htdocs/includes/php/inc.php)이 허용 된 경로 내에 있지 않습니다 :'전체 파일 목록이 이어짐 – Michiel

+0

'/'과 같은 상대 경로로 설정하거나 서브 디렉토리에'/ sub /'를 사용하면 포함 할 때 전체 경로를 사용하십시오. '$ base = '/'; –

+0

당신이 의미하는 바를 모르겠다 ... – Michiel

0

그냥 드래그를 시도하고 당신의 index.php 페이지로이 페이지 cl_calendar.php을 삭제하고이는 단지 전체 HREF 경로를 복사하고 포함에 그대로 붙여 넣기 등의 HREF 링크를 보여주는 것입니다.

또는 정확한 경로는 이와

require_once(/../classes/cl_calendar.php); 
관련 문제