2016-12-24 8 views
0

나는 파일 변수 정의를 포함 file_to_include.php,PHP : 포함 된 파일의 정의에 액세스 할 수 없습니까?

define("NAME", "John Doe"); 

을하지만

include_once 'file_to_include.php'; 

를 사용하여 내 다른 파일 index.php에 포함하고

index.php 내 정의를 에코하려고 할 때
echo NAME; 

페이지에 표시되는 내용은 NAME이 아니며이 아닙니다..

나는 정의가 세계적이라고 생각하는데, 내가 뭘 잘못하고 있니?

+0

public const $ NAME = "John Doe"로 정의하고 작동하는지 확인하십시오. – Nevermore

+0

의미가 없으므로 작동해야합니다. 두 파일 모두 처음에는' CodeGodie

+0

두 파일 모두 시작 부분에 CryptoCat

답변

-1

이것은 매우 간단한 문제였습니다. 나는 이미 내 루트 PHP 디렉토리 인 것처럼 파일 경로를주고 있었다. /var/www/html. 그래서이 루트 PHP 디렉토리의 하위 디렉토리로 시작하는 파일 경로를 지정했습니다. 전의. 앞으로 include '/subdir/myfile.php'; 대신

include '/var/www/html/subdir/myfile.php';의 말을하는 것은 아마 더 나은 글로벌 일정한 곳으로 루트 디렉토리를 저장 한 다음 바로 PHP의 inlcude_path의 모습이 무엇인지보고, include '$__ROOT__/subdir/myfile.php';

+0

왜 downvote? 적어도 건설적인 발언을 남겨 두라. – CryptoCat

0

어쩌면 잘못된 경로를 말할 것입니다. PHP의 includeinclude_once은 요청한 파일이 발견 되더라도 계속됩니다.

당신은 파일을 찾을 수없는 경우 requirerequire_onceinclude 대조적으로, 실행을 중단하고 include_one이되지 않습니다, 명심해야한다.

PHP documentation

는 말한다 :

그것도 치명적인 E_COMPILE_ERROR 수준 오류가 발생합니다 실패시 제외 포함 동일해야합니다. 즉, include는 스크립트를 계속 실행하는 경고 (E_WARNING) 만 내보내는 반면 스크립트는 중지합니다.