2017-10-15 28 views
0

PHP에 익숙해 져서 상대 경로와 절대 경로가 필요에 따라 작동하는 방식을 고민 중입니다.PHP 경로/상대 또는 절대 필요

/index.php
/inc/db_functions.php
/inc/config.php
/login/login.php

db_functions.php이 설정을 포함처럼

내 구조가 보인다 .PHP 사용 require_once 'inc/config.php';

index.php를 사용하여 db_functions.php 포함 require_once 'inc/db_functions.php';

사용자가 로그인하지 않은 경우 브라우저는 login.php로 리디렉션됩니다. 원래 login.php는 루트 폴더에 있었고 같은 것을 index.php로 한 번 사용했습니다. 그것은 완벽하게 작동했습니다.

이제는 자체 하위 폴더에 있습니다. 코드는 다음이 db_connect.php에서 require_once를 라인에 도착 할 때까지 근무하고 require_once('../inc/db_connect.php');

내가 사용하는 require_once를 변경하지 못했습니다.

는 내가이 될 login.php 번 필요 변경 : 다시 require_once(__DIR__.'/../inc/db_connect.php');

그것이 내가 절대 경로로 db_connect에 require_once를 변경

db_connect.php에 require_once를에 도착했을 때 그것이 실패 . 다시 실패했습니다.

포함 파일의 포함 경로가 호출하는 파일의 위치에 따라 변경되는 것처럼 보이지만 (어떤 점에서 맞는지는 알 수 있습니다)이 방법을 다루는 방법이 있지만 더 강력하게 만드는 방법입니다.

+1

파일의 소스 코드가 포함되도록 질문을 편집하고 얻은 오류 메시지를 작성하십시오. 그러나 마법 상수'__DIR__'는 그 트릭을 수행해야합니다. – Progman

+0

안녕하세요. 나는 코드를 업로드하려고 노력할 것이다. 그러나 그것은 꽤 몇 줄에 지나지 않기 때문에 나는 먼저 그것을 다듬을 것이다. 또한 오류 메시지가 표시되지 않습니다. netbeans에서 디버깅은 그 줄에서 멈추고 계속 진행되지 않습니다. – Flugan

+0

PHP 스크립트에서 오류 메시지를받는 방법을 보려면 https://stackoverflow.com/questions/845021/how-to-get-useful-error-messages-in-php를 확인해야 할 수 있습니다. – Progman

답변

0

db_functions.php에는 을 사용하는 config.php가 포함되어야합니다. require_once 'config.php'; 그들은 같은 폴더에 있기 때문에.

일반적으로 전체 경로를 사용하는 것이 가장 좋습니다.