wp-load.php 파일, strpos(), header() 함수, 워드프레스

워드프레스.. wp-load.php 파일.. wp_guess_url(), strpos(), header(), wp_check_php_mysql_versions(), wp_load_translations_early(), wp_die() 함수..

 

마음은 천 리 길을 한 걸음에 달려갈 것만 같은데 머리와 의지가 따라주지 않아 공부하는 것도 싶지 않은 것 같다.

 

몇 일 전 워드프레스 wp-load.php 파일을 분석하며 공부하던 것을 다 끝내지 못한 상태에서 다음을 기약하며 마쳤는데 이제야 그 뒤를 이어서 하게 되었다.

 

별다른 것은 없어 보이고 몇 가지 함수만 짚고 넘어가면 될 듯싶다.

 

$path = wp_guess_url() . ‘/wp-admin/setup-config.php’;

 

wp_guess_url() 함수는 워드프레스 자체 함수로서 ‘wp-includes/functions.php‘ 파일 안에 정의되어 있다.

 

if ( false === strpos( $_SERVER[‘REQUEST_URI’], ‘setup-config’ ) ) {
    header( ‘Location: ‘ . $path );
    exit;
}

 

PHP에서 strpos() 함수는 대상 문자열에서 찾고자 하는 조건 문자열이 몇 번째 위치에서 처음 나타나는지 리턴하는 함수이다.

 

사용 방법은 다음과 같다.

 

strpos([대상 문자열], [조건 문자열], [검색 시작 위치]);

 

‘검색 시작 위치’를 명시하지 않을 경우 ‘대상 문자열’의 앞에서부터 검색을 시작한다.

 

대상 문자열의 번호는 앞에서부터 차례대로 0번부터 부여된다.

 

예)love => l[0], o[1], v[2], e[3]

 

만약, strpos(‘love’, ‘v’) 라고 할 때 결과는 ‘2’가 출력된다.

 

PHP에서 header() 함수는 클라이언트가 요청한 페이지를 브라우저에 출력하기 전에 미리 브라우저에 해당 페이지의 정보를 알려준다.

 

여기서는 header() 의 기능 중 ‘Location’ 기능만 살펴보고 넘어갈 것이다.

 

페이지에 접속하면 자동으로 다른 페이지로 이동하게 할 경우 header( ‘Location: 이동할 URL’ ) 라는 형태로 사용하면 된다.

 

wp_check_php_mysql_versions() 함수와 wp_load_translations_early() 함수는 워드프레스 자체 함수로서 ‘wp-includes/load.php‘ 파일 안에 정의되어 있다.

 

wp_die() 함수는 워드프레스 자체 함수로서 ‘wp-includes/functions.php‘ 파일 안에 정의되어 있다.

 

wp-load.php 분석, error_reporting(), file_exists(), wp_fix_server_vars() 함수

wp-activate.php 분석, die(), is_object(), empty() 함수, echo와 printf 차이 등..

 

이 파일에서 저 파일로, 이 함수에서 저 함수로 참조되는 것들을 계속 정신없이 뛰어 넘으며 따라 다니다 보니 도저히 감당이 안 된다.

 

그래서, 일단 워드프레스 자체 함수는 정의된 위치만 표시해 두는 수준으로 남겨 두기로 했다. 그러는 것이 정신 건강에 좋을 듯싶다. ^^;

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다