g5_path 함수 질문입니다.

g5_path 함수 질문입니다.

QA

g5_path 함수 질문입니다.

답변 1

본문

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__))))

이렇게 변경해 보세요 ㅎ

답변을 작성하시기 전에 로그인 해주세요.
전체 2
© SIRSOFT
현재 페이지 제일 처음으로