목차
사실 이 예제는 오늘(2015.06.24 16:34) 프리랜서 알바로 워드프레스 홈페이지 구축 프로젝트에서 네이버웹마스터 도구에 워드프레스의 멀티사이트별로 분기를 확인시키기 위해서 작성하던 프로그램의 일부다.
결론부터 말하자면, 네이버웹마스터도구가 일반 도메인들에 대해서는 서브도메인이 아닌 디렉토리 구조 이하는 별도 사이트로 인식하지 않기 때문에 워드프레스로 멀티사이트를 구축하더라도 1개의 사이트로 인식된다는 것만을 확인했다.
그래도 혹시 훗날 쓸 일이 있을까 싶기도 하고, 이런 류의 조건 분기 예제가 필요한 분들을 위해서 작성해둔다.
php substr 문자열 자르기 함수로 현재페이지의 주소를 확인해서 php switch문으로 분기시키는 예제.
<head>
<?php
$thisUrl = $_SERVER['REQUEST_URI'] ;
$sstr = substr($thisUrl,11,3);
switch ($sstr) {
case "php":
echo '<meta name="tnaver-site-verification" content="ebt9acf84dac1a39e228cff377f8a89bcfab251f7"/>';
break;
case "jsp":
echo '<meta name="tnaver-site-verification" content="ebt9acf84dac1a39e228cff377f8a89bcfab251f7"/>';
break;
}
?>
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
<?php
switch ($sstr) {
case "php":
echo "ga('create', 'tUA-6445x6327-1', 'auto');";
break;
case "jsp":
echo "ga('create', 'tUA-6445x6327-2', 'auto');";
break;
}
?>
ga('send', 'pageview');
</script>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>php switch and $_SERVER 분기 테스트</title>
</head>
이 프로그램에 사용된 주요 php 함수에 대한 설명.
php 문자열자르기의 대표적인 함수 php substr();
php에서 substr함수는 다음과 같이 사용된다.
$sstr = substr($thisStr,11,3);
$thisStr이라는 문자열함수가 문자열을 갖고 있다면, 11번째에서부터 3개의 문자를 취하라는 뜻이 된다.
두번째 인수가 음수로 되어 있다면 문자열의 끝에서부터라는 뜻이 되고 세번째 인수가 없으면 문자열의 끝까지 모두를 뜻하게 된다.
예컨데
$posstr=substr("koreansexygirl",-3)
과 같이 썼다면 $posstr에는 "irl"이 들어가 있다.
세번째 인수가 쓰인다면 글자의 갯수를 제한할 수 있다.
$posstr=substr("koreansexygirl",-3,2)
에서는 $posstr="ir"이 된다.
php switch문 구조
php도 프로그래밍 언어이기 때문에 switch 구문을 가지고 있다.
이런 스위치 구문은 반복적인 조건문을 처리하는데 유용하다.
case는 숫자가 올때는 따옴표를 쓰지 않으며, 문자열이 비교값으로 올때는 따옴표로 감싸주면 된다.
그리고 어떤 조건에도 부합되지 않을 때 예외처리를 위한 default case문도 있으니, 써 주는 것이 좋다.
<?php
switch ($swVal) {
case 0:
echo "swVal = 0";
break;
case 1:
echo "swVal = 1";
break;
case 2:
echo "swVal = 2";
break;
default:
echo "swVal != to 0, 1 or 2";
}
?>
php는 스위치문의 대체문법도 존재하는데 다음과 같다.
딱히 대체문법으로 적용할 일은 별로 없지만, 아래와 같이 작성되어도 동일하게 동작하기 때문에 다른 사람의 소스를 읽을 때는 알고 있는게 좋다.
<?php
switch ($swVal):
case 0:
echo "swVal = 0";
break;
case 1:
echo "swVal = 1";
break;
case 2:
echo "swVal = 2";
break;
default:
echo "swVal != to 0, 1 or 2";
endswitch;
?>
위의 php 문법을 활용한 예제 페이지는 여기를 클릭
참고: http://php.net/manual/kr/function.substr.php http://php.net/manual/kr/control-structures.switch.php
'Dev > php' 카테고리의 다른 글
php include로 파라미터 값 넘기기 (php include parameters) & php switch case 분기 처리 (0) | 2021.07.01 |
---|---|
php $_SERVER (서버함수) 예제 (0) | 2020.12.31 |
php 엑셀 다운로드 한글 깨짐 문제 해결 (0) | 2020.09.10 |
워드프레스 이미지를 자르는데 에러가 발생했습니다. 에러. php gd 설치 (0) | 2020.09.04 |
asp, html, jsp, php include(인클루드) 하는 방법. (0) | 2020.08.14 |
댓글