2012-10-25 2 views
6

로컬 개발 서버에서 테스트 서버로, 그리고 라이브 서버로 포팅해야하는 웹 사이트를 구축합니다. 우리가 다음에 서버에서 웹 사이트를 이동하면PHP는 경로에 변수를 포함합니다.

<?php $path = '/_Folder_/_SubFolder_'; ?> 

, 아이디어는 단순히 새로운 개발 서버로 개조하기 위해 $ 경로 정의를 변경하는 것입니다 이러한 이유로 우리는 변수를 만들었습니다.

<?php include('../_includes/_css.php'); ?> 

하지만 난 할 노력하고있어에 있습니다 : : 현재, 각 페이지에 우리가 전화를 할 때 포함 우리는 쓰기 때문이다 나는 희망

<?php include($path.'/_includes/_css.php'); ?> 

내 결과 :

<?php include('/_Folder_/_SubFolder_/_includes/_css.php'); ?> 

나는 결과로 비참하게 실패했습니다 :

은 경고 : 포함 [function.include] ( /_SubFolder_/_includes/_css.php이/폴더) : 스트림을 열지 못했습니다 : C에서 해당 파일이나 디렉토리 : \ 프로그램 파일 \ 아파치 소프트웨어 재단 \ 15

다른 라인 문제 난 아직도 호출하여 변수 소스를 포함 할 필요가에 Apache2.2 \ htdocs를 \ FREEDOM2012_FREEDOM2012_DEFAULT_ \ 숙박 시설 \ 게스트 rooms.php "../"

<?php include('../_includes/_var.php'); ?> 

누군가가이 작업을보다 효율적으로 수행 할 수있는 방법에 대한 통찰력이 있다면 나는 가장 감사 할 것입니다. 응답 시간, 인내와 노력에 감사드립니다.

+0

'include()'에 입력하는 문자열을'echo' 해 보았습니까? – Sammitch

+0

Windows 서버를 사용하는 경우 슬래시 대신 백 슬래시가 필요합니다. – jtheman

+0

그냥'/'를 제거하십시오. – dualed

답변

2

$ path 변수를 영원히 한 번 동적으로 초기화하면 환경 친화적이지 않습니까?

같은 :

$path = dirname(__FILE__); 

는 PHP 5.3을 시작으로, 당신은 또한 위와 동일한을 수행하는 __DIR__ 바로 가기가 있습니다.

@see : http://www.php.net/manual/en/language.constants.predefined.php

+0

'set_include_path'와 함께 http://php.net/manual/en/function.set-include-path.php와 함께 사용하면 멋지게 부트 스트랩 할 수 있습니다. 귀하의 포함에 알맞은 상대 경로가 있습니다. –

+0

@ Martin Lyne 고마워요. –

2

당신은 당신이 "../"가 becose

<?php include('../_includes/_css.php'); ?> 

에서 이전 디렉토리를 표시해야합니다. =/_ * "css.php"에서 전체 경로 폴더 * _/하위 폴더 /_includes/_css.php는, 당신은 다음 코드를 사용해야하는 경우 : 다른

<?php $path = './_Folder_/_SubFolder_'; 
include($path.'/_includes/_css.php'); ?> 

을 먼저 파일의 전체 경로를 표시하십시오. _css.php

관련 문제