g5_path 함수 질문입니다.
본문
g5_path 함수에서 첫번째 부터 막혔습니다.
$chroot = substr($_SERVER['SCRIPT_FILENAME'], 0, strpos($_SERVER['SCRIPT_FILENAME'], dirname(__FILE__)));
위에 코드가 이해가 가지 않습니다.
substr : 문자열 추출
strpos : 검색하고자 하는 문자열이 몇번째에 있는가
먼저 strpos부터 살펴보면
strpos($_SERVER['SCRIPT_FILENAME'], dirname(__FILE__))
$_SERVER['SCRIPT_FILENAME'] : 파일 자신의 CLI 경로
dirname(__FILE__) : 파일명을 제외한 경로
제가 예제로 실습을 했을 때는
// $_SERVER['SCRIPT_FILENAME']
/mnt/c/project/mypjt/gnuboard5.4.3.1/hoho.php
dirname(__FILE__)
/mnt/c/project/mypjt/gnuboard5.4.3.1
이렇게 나옵니다.
strpos 는 일치하는 문자열이 몇번 째있는지 출력하기 때문에 결과는 0입니다.
그러면 substr($_SERVER['SCRIPT_FILENAME'], 0, 0) 이런 형태가 된다는 얘기인데
substr 은 문자열 추출함수, substr ( 문자열, 시작위치, 추출할 문자개수 )
결론적으로 추출할 문자개수가 0이기 때문에 substr 함수의 결과는 빈값입니다.
근데 빈값을 이렇게 복잡하게 넣을 거 같진 않은데 제가 잘못 이해한건가요 ㅠㅠ
근데 제가 예제로 해봤는데 확실히 빈값이 나오긴 하는데...
좀 도와주세요
!-->!-->답변 1
strpos($_SERVER['SCRIPT_FILENAME'], dirname(__FILE__)) 이거를
strpos($_SERVER['SCRIPT_FILENAME'], substr(dirname(__FILE__),1,strlen(dirname(__FILE__))))
이렇게 변경해 보세요 ㅎ
답변을 작성하시기 전에 로그인 해주세요.