답변 3개
/common.php
$result['path'] = str_replace('\\', '/', dirname(__FILE__)); // 서버 절대 경로 내부적 사용
$tilde_remove = preg_replace('/^\/\~[^\/]+(.*)$/', '$1', $_SERVER['SCRIPT_NAME']); // /~user 삭제
//$document_root = str_replace($tilde_remove, '', $_SERVER['SCRIPT_FILENAME']); // 루트경로 원본
$document_root = str_replace($tilde_remove, '', realpath($_SERVER['SCRIPT_FILENAME'])); 루트경로 - 일부호스팅에서 경로 문제로 경로 변환
$_SERVER['DOCUMENT_ROOT'] 사용
$root = str_replace($document_root, '', $result['path']); // 루트 뺀 상대경로
$port = $_SERVER['SERVER_PORT'] != 80 ? ':'.$_SERVER['SERVER_PORT'] : '';
$http = 'http' . ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS']=='on') ? 's' : '') . '://';
$user = str_replace($tilde_remove, '', $_SERVER['SCRIPT_NAME']); // /~user 시작한다면 추출
realpath사용시 필히 $user도 수정할것!
웹호스팅 테스트환경에서 경로 문제 발생해서 해결한것인데.. 참고하시길 바랍니다.
$result['path'] = str_replace('\\', '/', dirname(__FILE__)); // 서버 절대 경로 내부적 사용
$tilde_remove = preg_replace('/^\/\~[^\/]+(.*)$/', '$1', $_SERVER['SCRIPT_NAME']); // /~user 삭제
//$document_root = str_replace($tilde_remove, '', $_SERVER['SCRIPT_FILENAME']); // 루트경로 원본
$document_root = str_replace($tilde_remove, '', realpath($_SERVER['SCRIPT_FILENAME'])); 루트경로 - 일부호스팅에서 경로 문제로 경로 변환
$_SERVER['DOCUMENT_ROOT'] 사용
$root = str_replace($document_root, '', $result['path']); // 루트 뺀 상대경로
$port = $_SERVER['SERVER_PORT'] != 80 ? ':'.$_SERVER['SERVER_PORT'] : '';
$http = 'http' . ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS']=='on') ? 's' : '') . '://';
$user = str_replace($tilde_remove, '', $_SERVER['SCRIPT_NAME']); // /~user 시작한다면 추출
realpath사용시 필히 $user도 수정할것!
웹호스팅 테스트환경에서 경로 문제 발생해서 해결한것인데.. 참고하시길 바랍니다.
답변을 작성하려면 로그인이 필요합니다.