캔트는 시도하는 방법을 이해합니다.PHP에 대한 경로 정의와 관련된 문제는 여러 폴더에 포함됩니다.
PHP 파일을 포함시켜 모든 레벨의 파일에서 동일한 파일을 호출 할 수있는 방법을 원하며 항상 동일한 파일을 가리 킵니다.
그래서 웹 사이트 설정이 있습니다. user_profile.php에 내가 sidebar.php 파일을 포함하고 예를 들어
root
init.php
databaseconn.php
index.php
/css/
main.css
/settings/
user_profile.php
/template/
sidebar.php
/includes/
get_user.php
.
지금 내가 사용합니다 : 그 사이드 바 파일 내의
../template/sidebar.php
그리고 ../includes/get_user.php을.
잘 작동합니다. 그러나 문제는 내 index.php 페이지에 동일한 sidebar.php 파일을 포함한다는 것입니다. 그러면 문제가 발생합니다.
이에 대응하기 위해
, 난이 시도 : 다음<?php
$isDevelopment = true;
$baseInclude = ($isDevelopment ? '//localhost/website/' : '//www.site.com/');
?>
와 내가 사용한 사이트에서 모든 파일을 포함 할 때 :
include $baseInclude. 'template/sidebar.php';
이 일을하지만 내가 오류를 얻고있다.
오류가 표시됩니다 : 나는 그것이 표시 될 때 user_profile.php 파일 내의 파일을 찾고 내가 정의한 이유를 이해 해달라고
Warning: include(//localhost/website/template/sidebar.php): failed to open stream: No such file or directory in /Applications/MAMP/htdocs/website/settings/user_profile.php on line 46
이 로컬 호스트의 경로에서의 coing ...
아이디어가 있으십니까? 가능한 솔루션
과 같을 것이다 및 일정 정의 된에 상대 경로를 사용 – skrilled
외에도 http를 통한 파일 포함은 include가 호출 스크립트의 정보를 필요로하지 않고 html 이외의 정보를 반환하지 않는 한 작동하지 않습니다. 문제는 다른 요청에서 별도로 처리된다는 것입니다. – jeroen