2011-02-19 4 views
0

php가 나에게 파일을 알려주는 이유가 궁금 할 때가 있습니다.상대 경로와 절대 경로를 이해하십시오.

이 내 코드와 오류

require_once('/book/admin/bin/class/db.class.php'); 

오류 및 스택 추적

Warning: require_once(/book/admin/bin/class/db.class.php) [function.require-once]: failed to open stream: No such file or directory in C:\wamp\www\book\forms\add.php on line 3 
    Call Stack 
    # Time Memory Function Location 
    1 0.1479 408440 {main}() ..\add.php:0 

이 많이 발생하고 난이 성가신 재발생하여 문제를 해결합니다. 내가 묻는 것처럼 사이트 루트에서 읽을 웹 서버를 설정할 수있는 방법이 있습니까? 또는 나는 무슨 일이 일어나고 있는지 오해하고있다.

다음은 디렉토리 구조를 보여줍니다. 왜 파일 경로로 "/ 도서/빈 /"

감사를 사용할 수없는 WAMP 서버

c:\wamp\www\book <- my site root 
c:\wamp\www\book\forms <- where add.php is located 
c:\wamp\www\book\admin\bin\class\db.class.php 

를 사용

, Windows에서 C

답변

1

절대 경로는 드라이브 문자로 시작 .

require_once 'c:\wamp\www\book\admin\bin\class\db.class.php'; 

을 사용하거나 상대 경로를 사용할 수 있습니다.

getcwd()를 사용하여 "시작"하는 경로를 확인하려면; 이것은 아마도 스크립트가 "시작"하는 디렉토리 일 것입니다. index.php가 위치한 디렉토리.

echo getcwd(); 

이 디렉토리와 관련된 파일을 요구할 수 있습니다.

그러나 APPLICATION_DIR 등의 상수 정의를 설정하고 그런 식으로 링크를 작성하는 것이 좋습니다.

define('APPLICATION_DIR', 'c:\wamp\www\book'); 
require_once APPLICATION_DIR.'\admin\bin\class\db.class.php'; 
관련 문제