워드프레스.. 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 차이 등..
이 파일에서 저 파일로, 이 함수에서 저 함수로 참조되는 것들을 계속 정신없이 뛰어 넘으며 따라 다니다 보니 도저히 감당이 안 된다.
그래서, 일단 워드프레스 자체 함수는 정의된 위치만 표시해 두는 수준으로 남겨 두기로 했다. 그러는 것이 정신 건강에 좋을 듯싶다. ^^;