2017-09-18 2 views
0

StackOverflow에서 질문을 읽는 코드를 검사하고 있지만 단순히 이해하지 못하거나 오히려 설명이나 논리를 이해하지 못합니다. 나는이define 및 __DIR__ 설명의 PHP 사용

enter image description here

같은 디렉토리 구조가있는 경우

지금 내가 같이 단지 (응용 프로그램 전반에 걸쳐 전 세계적으로 액세스 할 수 을 head.php 파일을 설정하려면 다음

을 고려 예 :)

define('Head', __DIR__ .'/views/head.php'); 

위의 작업을 수행하면 llowing 결과 :

C : \ XAMPP \ htdocs를 \ 나는 그러나, URL은 앞으로 백 슬래시 포함 알 ,, 원하는 기술적으로 carRental/뷰/head.php "

?

내 디렉토리 트리의 아무 곳에서나 Head를 호출하여 head.php 파일에 액세스 할 수 있습니까?

죄송합니다. 죄송합니다. 코드를 검사하고 여기에서 매뉴얼과 질문을 읽었습니다. 누구든지 신인에게 명확한 설명을 주면 크게 감사하겠습니다.

UPDATE :

나는 다음을 수행하려고 landingPage.php에서 나는 다음과 같은 오류

include_once Head; 

공지 얻을 : 정의되지 않은 상수 헤드의 사용은 - C의 '머리'를 가정 : 2 행의 \ xampp \ htdocs \ carRental \ views \ landingPage.php

경고 : include_once (헤드) : 스트림을 열지 못했습니다. 해당 파일 또는 디렉토리가 C : \ xampp \ htdocs \ c에 없습니다. arRental \ 뷰 \ landingPage.php 라인 2

경고 : include_once 문() C에 ('\ XAMPP의 \ PHP는 \ 배 C'의 include_path =) 포함될 를 "헤드"개방 실패 \ XAMPP \ htdocs에 \ 내가 그러나 ,, 원하는 기술적으로

+0

왜, 당신이 include_once 문 헤드 '하려고하면 어떻게됩니까,'? 슬래시는 괜찮을 겁니다. 특정 오류가 발생 했습니까? –

+0

@DarenChandisingh 질문에서 업데이트를 참조하십시오 – Marilee

+1

정의하지 않은 파일에서 '헤드'를 포함하려고 할 가능성이 있습니다. * 정의되지 않은 상수 헤드 *는 다음을 의미합니다. – apokryfos

답변

1

당신이 정의에 슬래시를 하드 코딩 한 define('Head', __DIR__ .'/views/head.php');을 사용합니다.

기본 디렉토리 분리 등의 기본 용도 \에 의해 창문이 너무 __DIR__ Windows에서 (이 때문에 문제가되지는 않지만, 다른 하나 /를 사용으로 괜찮습니다) 경로에 \을 사용하는 것입니다 그러나. 당신이 그 (것)들을 일관되게하려는 경우

는 다음과 같은 작업을 수행 할 수 있습니다

define('Head', __DIR__ .DIRECTORY_SEPARATOR ."views".DIRECTORY_SEPARATOR ."head.php"); 
0

라인 2 landingPage.php \ 전망 \ URL이 앞으로 백 슬래시 포함 알 carRental?

나는 내 디렉토리 트리 어디서나 머리를 호출하여 head.php 파일에 대한 액세스를받을 수 있습니까?

foreward와 역 슬래시없이

믹스는 __DIR__C:\xampp\htdocs\carRental'/views/head.php' 당신이 추가 문자열입니다 생성 명령에 의해 생성된다.

정의 된 HEAD을 사용하려면 정의한 PHP 파일을로드해야합니다. 다른 PHP 파일은이 파일이 지속되거나 지속되지 않는 한 무엇을하는지 알지 못합니다. 당신의 정의 가능한 사용/require_once

0

__DIR__include_once는 항상을 사용하여 파일의 절대 디렉토리를 해결할 수에게 파일을로드하려면 (당신은 제공된 코드에하지 않는).

전달 및 백 슬래시의 이유. 이 부분은

C:\xampp\htdocs\ 

Windows 파일 경로입니다. 이 부분은

carRental/views/head.php 

웹 서버 경로, 즉 Windows가 아닙니다.

귀하 그래서 지금 그것을 포함하려고 올바른 파일 경로를 개최한다 정의 :

include_once Head;