php 파일 작성 시에, 외부 파일을 포함하기 위해 사용하는 함수가 4개가 있습니다.
include(), require(), include_once(), require_once()
include(), require() 는 함수가 실행될 때마다 매개변수로 입력한 파일을 포함합니다. 이들 함수의 매개변수는 파일의 위치를 지정합니다.
include('./test/a.php');
require('./test/a.php');
현재 디렉토리 아래에 test라는 디렉토리 내의 a.php를 포함시켜라..는 의미죠.
기능은 같지만, 이들 두 함수는 실행결과의 차이가 있습니다.
포함시키라고 지정해준 파일이 없을 경우,
include()는 warning을 표시하지만, require()는 fatal error 를 표시하고 실행이 중단됩니다.
그럼, _once 가 붙은 나머지 두 함수는 어떤 차이가 있을까요?
말그대로 한번만 포함시키라는 말입니다.
include('./test/a.php');
include('./test/a.php');
위의 경우에는 a.php 의 내용이 두번 포함이 됩니다. 쓸데없이 말이죠...
함수가 정의되어 있는 파일이라면, 2회 이상 포함시키게 되면, 같은 함수가 또 정의되어있다고 에러가 발생하게 되지요. 그런 상황을 피하기 위해, include_once()함수를 사용할 수 있습니다.
include_once('./test/a.php'); 로 한번 a.php를 성공적으로 포함시키고 나면, 이후 다시 a.php를 포함시키라고 해도, 포함을 시키지 않습니다.
그럼, require_once()는 어떨까요? once의 의미를 include_once()와 같이 수행합니다. 다만, 지정한 파일이 없을 경우, warning을 표시하는 include_once()와는 달리 fatal error 를 표시하고 실행이 중단되는 차이점이 있습니다.
|
여러번 포함 |
한 번만 포함 |
warning |
include() |
include_once() |
fatal error |
require() |
require_once() |
출처 : http://zzaps.tistory.com/15
'IT > PHP' 카테고리의 다른 글
mongoDB에 insert하기 (php) (0) | 2014.08.12 |
---|---|
Ubuntu에서 phpinfo.php 안뜰때 (0) | 2014.08.11 |
CURL 사용법 (0) | 2014.08.05 |
php json_decode (0) | 2014.07.31 |
php 날짜, 시간 관련 함수 (0) | 2014.07.30 |