배열을 http Query String 으로 만들어 주는 함수

function http_parse_query( $array = NULL, $convention = '%s' ){
	if( count( $array ) == 0 ){
		return '';
	} else {
		if( function_exists( 'http_build_query' ) ){
			$query = http_build_query( $array );
		} else {
			$query = '';
			foreach( $array as $key => $value ){
				if( is_array( $value ) ){
					$new_convention = sprintf( $convention, $key ) . '[%s]';
					$query .= http_parse_query( $value, $new_convention );
				} else {
					$key = urlencode( $key );
					$value = urlencode( $value );
					$query .= sprintf( $convention, $key ) . "=$value&";
				}
			}
			$query = substr($query, 0, mb_strlen($query)-1);
		}
		return $query;
	}
}

URL을 분석해서 쿼리스트링을 뽑아낼 수 있는 함수인 parse_url , 쿼리 스트링을 배열로 변환해 주는 함수인 parse_str 과 함께 섞어서 아래처럼 활용할 수 있다.

언어를 변경해 주는 파일이고, 세션과 URL에 언어 정보를 넣어서 한글이면 영어로 영어면 한글로 전환해 준다.

굳이 URL에 lang=en 같은 정보를 넣는 이유는 검색엔진에 대응하기 위해서다.

if($_SESSION['language']=='en'){
	$_SESSION['language']='ko';
}else{
	$_SESSION['language']='en';
}
$parse = parse_url($_SERVER['HTTP_REFERER']);
$query_array = array();
if(isset($parse['query'])){
	parse_str($parse['query'], $query_array);
}
$query_array['lang']=$_SESSION['language'];
$query_string = http_parse_query($query_array);
header('location: '.$parse['path'].'?'.$query_string);

카테고리

17년차 풀스택 웹 개발자 안형우입니다

웹 개발에서도 중요한 것은 개념입니다.
이 블로그에는 제가 개발하며 익힌 개념들을 정리합니다.

워드프레스를 오래 다뤄 왔고 강의도 두 편 찍었습니다.
– 인프런 “워드프레스 제대로 개발하기 어드민 편, 클라이언트 편
– 클래스101 “누구나 할 수 있는 워드프레스 홈페이지 만들기 – 기획부터 출시까지 한 방에 OK

유튜브 채널에 워드프레스 관련 팁들을 올리고 있습니다.

👉 소개 더 보기

대표글

댓글 남기기