配列を 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);
- コメント機能はありません。コメントの代わりに[email protected]にメールを送ってください。