현재 페이지 URL 주소 알아내기

프로그래밍/PHP|2015. 1. 27. 11:26
반응형
현재 페이지의 주소 구하기 
$url = "http://" . $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"]; 

주소 구하여 유니코드로 전환하기 
$url = urlencode($url);
 

보낼때-
urlencode();
 

받을때-
urldecode();


반응형

댓글()

자바스크립트 펼치기 접기 소스 2

반응형

<SCRIPT LANGUAGE="JavaScript">
<!--
  function viewStyle(obj){
    while(true){
      if((obj=obj.nextSibling).nodeName=="DIV"){
        obj.style.display=(obj.style.display!='block')?'block':'none';
        obj.style.fontSize = "22px"; //12px로 변경하세요.. 확인하시라고 크게 하였습니다.
        obj.style.color = "#FF0000";
        break;
      }
    }
  }
 
//-->
</SCRIPT>
<a href='#' onclick="viewStyle(this);return false">클릭</a>
<DIV style='display:none'>내용을 쓰시오</DIV>

 

 

[출처] 지식인 | scriptwin (http://kin.naver.com/qna/detail.nhn?d1id=1&dirId=1040202&docId=105583617&qb=amF2YXNjcmlwdCDtjrzsuZjquLA=&enc=utf8&section=kin&rank=1&search_sort=0&spq=0&pid=glaZ3soi5UZsstEInqVsss--208008&sid=TgFE3N8iAU4AABm6G3Y)

반응형

댓글()

자바스크립트 펼치기 접기 소스

반응형

일단 다음 예제를 보자. 


위와 같은 효과를 주기 위해서는 Span태그의 스타일인 Display를 조절하면 된다. 위 예제의 소스코드는 다음과 같다. 

(Language : html4strict)
  1. <SPAN id=test1_1><A  href="javascript:Open();">글 내용 펼치기</A></SPAN>
  2. <SPAN id=test1_2 style="DISPLAY: none"><A href="javascript:Close();">글 내용 접기</A><br />글 내용을 펼쳐야 이 부분이 보이게 됩니다. </SPAN>
  3. <script name=javascript>
  4.     function Open()
  5.     {
  6.         document.getElementById('test1_1').style.display='none';
  7.         document.getElementById('test1_2').style.display='';
  8.     }
  9.     function Close()
  10.     {
  11.         document.getElementById('test1_2').style.display='none';
  12.         document.getElementById('test1_1').style.display='';
  13.     }
  14. </script>


  15. 원리는 간단하다. '글 내용 펼치기' 링크와 실제 보여줄 내용을 각각 다른 span 안에 넣어둔 후 두 레이어가 서로 번갈아가며 보이면 되는 것이다. 이를 자바스크립트를 이용하여 구현하기 위해서는 getElementById라는 함수를 쓰게 되는데, 이는 span 태그에서 설정한 id를 이용하여 해당 객체를 얻어내는 기능을 한다. 객체를 얻어 낸 후에는 스타일의 디스플레이 속성을 조절하게 된다. 디스플레이 속성에 아무 값도 주지 않았을 경우에는 레이어가 보이며, none 속성을 주면 레이어가 보이지 않게 된다.
     
     


반응형

댓글()

스마트폰으로 접속시 특정 사이트로 이동 소스 Javascript

반응형

아이폰, 아이팟, 윈도우모바일, 심비안, 블랙베리, 안드로이드로 접속시 웹하드로 바로 접속되게 만들어주는 소스.
아닐 경우 다른 사이트로 이동.

 

Javascript, HTML에서 바로 사용이 가능함.

<script type="text/javascript">
 if((navigator.userAgent.match(/iPhone/i))
 || 
 (navigator.userAgent.match(/iPod/i))
 || 
 (navigator.userAgent.match(/Windows CE/i)) 
 || 
 (navigator.userAgent.match(/Symbian/i)) 
 ||
 (navigator.userAgent.match(/BlackBerry/i))
 ||
 (navigator.userAgent.match(/Android/i)) )
 {
    parent.window.location.href='http://heeseop.lgnas.com:8000';
 } else {    parent.window.location.href='http://heeseop.lgnas.com/gb/bbs/board.php?bo_table=Guestbook'; }
 
</script>


 

[출처] HEESEOP'S BLOG (http://wima57.tistory.com/287)

반응형

댓글()

[HTML] 스마트폰에서 홈페이지 잘 보이게 하는 방법

반응형

기존 홈페이지의 html 헤더에 

<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no, target-densitydpi=medium-dpi">

위의 메타 태그만 넣으시면 스마트폰에서 잘 보이실 겁니다. 

[발췌] 지식인 | momma3 (http://kin.naver.com/qna/detail.nhn?d1id=1&dirId=105&docId=130039598&qb=PG1ldGEgbmFtZT0gY29udGVudD0=&enc=utf8&section=kin&rank=2&search_sort=0&spq=0&pid=gQrtuv331xlssbMu8aKssv--493412&sid=Tfq@aiyL@k0AAFHFlKA)

반응형

댓글()

HTTP_USER_AGENT를 사용해서 모바일 접속환경 구분하기

프로그래밍/PHP|2015. 1. 27. 11:24
반응형

PHP의 전역변수 중에 '$_SERVER['HTTP_USER_AGENT']'라는 게 있다. 유저의 브라우저 접속환경을 파악하는 데 사용되어지는 변수인데, 이것으로 브라우저별로 스타일을 다르게 보여지게 하거나 필요한 동작을 요청할 수 있다.

 

최근에 모바일 기기로 홈페이지에 접속하는 사람들이 늘면서, PC의 웹브라우저 뿐만 아니라 이 모바일 기기별로도 구분을 해줘야 하는 일이 생기게 되었다.

 

그럼 어떻게 구분을 할 수 있을까?

 

아이폰4로 접속했을 경우,

 

echo $_SERVER['HTTP_USER_AGENT'];    // Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; ko-kr) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8A293 Safari/6531.22.7

 

유저 에이전트를 찍어보면 위와 같이 접속 브라우저의 정보가 출력된다. 이것으로 다음과 같이 문자열을 뽑아 매칭해보자.

 

첫 번째 방법으로는 preg_match 함수로 정규식을 사용하는 방법이 있다.

 

preg_match('/(iPhone|Android|Opera Mini|webOS)/i'$_SERVER['HTTP_USER_AGENT'])

 

사용예제

if(preg_match('/(iPhone|Android|Opera Mini|SymbianOS|Windows CE|BlackBerry|Nokia|SonyEricsson|webOS|PalmOS)/i'$_SERVER['HTTP_USER_AGENT'])) {
    $리다이렉트 = "어디로든지 가버렷!";
}

 

두 번째 방법으로는 strpos 함수로 문자열을 뽑아내는 방법이 있을 수 있다.


strpos($_SERVER['HTTP_USER_AGENT']'iPhone')

strpos($_SERVER['HTTP_USER_AGENT']'Android')

.

.

.

 

사용예제

if(strpos($_SERVER['HTTP_USER_AGENT']'iPhone') !== false) {
    $리다이렉트 = "아이폰만 볼 수 있는 페이지임 ㅋㅋ";
else if(strpos($_SERVER['HTTP_USER_AGENT']'Android') !== false) {
    $리다이렉트 = "요건 안드로이드만 볼 수 있는 페이지임 ㅋㅋㅋ";
else {
    $리다이렉트 = "......넌 누구냐?";
}

 

비교할 문자열은 아래 링크에서 찾아볼 수 있다.
http://www.zytrax.com/tech/web/mobile_ids.html

 

구분해낼 모바일 기기가 적을 경우 두 번째 방법이 낫겠고, 모두 다 혹은 다수의 기기를 한꺼번에 구분하고자 한다면 첫 번째 방법이 좋겠다.

 

 

[출처] Rearviewmirror | 김말고 (http://rearviewmirror.co.kr/70107414805)

반응형

'프로그래밍 > PHP' 카테고리의 다른 글

[PHP] 보안 국내 IP 대역만 접속 하도록 응용  (0) 2015.01.27
현재 페이지 URL 주소 알아내기  (0) 2015.01.27
자리수 채우기 str_pad  (0) 2015.01.27
php $_SERVER[]  (0) 2015.01.27
SUBSTR 함수 사용법  (0) 2015.01.27

댓글()

자리수 채우기 str_pad

프로그래밍/PHP|2015. 1. 27. 11:24
반응형

str_pad($test,3,' ' ,STR_PAD_LEFT)

 

str_pad(변수명 , 총자리수 , 채울문자, 왼쪽에채움/오른쪽에채움)

 

 

<?php
$input = "Alien";
echo str_pad($input, 10);                                                     // produces "Alien    "
echo str_pad($input, 10, "-=", STR_PAD_LEFT);            // produces "-=-=-Alien"
echo str_pad($input, 10, "_", STR_PAD_BOTH);            // produces "__Alien___"
echo str_pad($input, 6 , "___");                                          // produces "Alien_"
?>

 

 

[출처] 바다는 비에 젖지 않는다 | 개발자 (http://pusankjs.blog.me/40030281100)

반응형

댓글()

php $_SERVER[]

프로그래밍/PHP|2015. 1. 27. 11:23
반응형

<?

//현재 사이트가 위치한 서버상의 위치 => /webapp/include

$_SERVER['DOCUMENT_ROOT'];

 

//인코딩 방식 => gzip, deflate

$_SERVER['HTTP_ACCEPT_ENCODEING'];

 

//언어 => ko

$_SERVER['HTTP_ACCEPT_LANGUAGE'];

 

//사이트 접속한 사용자 환경 => Mozilla/4.0(compatible; MSIE 6.0; Window NT5.1; Q312461; .NET CLR 1.0.3705

$_SERVER['HTTP_USER_AGENT'];

 

//사이트 접속한 사용자 IP => xxx.xxx.xxx.xxx

$_SERVER['REMOTE_ADDR'];

 

//실행되고 있는 위치와 파일명 => webapp/include/index.php

$_SERVER['SCRIPT_FILENAME'];

 

//사이트 도메인 => www.crazy-cupid.com

$_SERVER['SERVER_NAME'];

 

//사이트가 사용하는 포트 => 80

$_SERVER['SERVER_PORT'];

 

//서버의 소프트웨어 환경 => Apache/1.3.23(Unix) PHP/4.1.2 mod_fastcgi/2.2.10 mod_throttle/3.1.2 mod_ssl/2.8.6 OpenSSL/0.9.6c

$_SERVER['SERVER_SOFTWARE'];

 

//CGI정보 => CGI/1.1

$_SERVER['GATEWAY_INTERFACE'];

 

//사용된 서버 프로토콜 => HTTP/1.1

$_SERVER['SERVER_PROTOCOL'];

 

//현재 페이지의 주소에서 도메인 제외 => /index.php?user=???&name=???

$_SERVER['REQUEST_URI'];

:: 인증 후에 넘어갈때, 정확치 않은 복수개의 변수 값들이 딸려올때 사용.

::form으로 넘긴 값에서 hidden이나 post로 넘긴 값은 안나타남.

::get으로 넘겨야 모든 변수들이 나타남.

 

//현재 페이지의 주소에서 도메인과 넘겨집는 값 제외 => index.php

$_SERVER['PHP_SELF'];

 

//현재 페이지의 실제 파일 주소 => D:wdbapp/

$_SERVER['APPL_PHYSICAL_PATH'];

 

//넘어온 변수들만 저장 => user=???&name=???

$QUERY_STRING

 

// => admin_id@userhost.co.kr

$SERVER_ADMIN

 

//현재의 쿠키 정보저장 => email=moai; name=aaa

$HTTP_COOKIE

::가끔 씀. 현재의 쿠키 파악해서 strchr 등으로 찾아서 원하는 쿠키만을 삭제, 추가할때 씀.

 

//쿠키변수의 값을 저장. 쿠키변수들이 어떤 것이 저장되어 있는지 확실히 아는 경우 사용

$HTTP_COOKIE_VARS['쿠키변수이름']

 

//넘어온 변수들의 방식이 GET인지 POST인지 저장

$REQUEST_METHOD

?>

 

 

[출처] 이홍재 (http://blog.naver.com/PostView.nhn?blogId=hongjae83&logNo=150034393189&redirect=Dlog&widgetTypeCall=true)

반응형

댓글()

한개의 체크박스만 선택 가능하게 설정

반응형

http://www.jasko.co.kr/src/20011002/select_one.html<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> Jasko Sample Script </TITLE>
<style>
body,td {font-size:12px}
</style>

<!----- 1. 아래의 스크립트를 HEAD 부분에 붙여 넣으세요 -------->

<SCRIPT LANGUAGE="JavaScript">
<!-- 
function checkBoxValidate(cb) {
for (j = 0; j < 8; j++) {
if (eval("document.myform.ckbox[" + j + "].checked") == true) {
document.myform.ckbox[j].checked = false;
if (j == cb) {
document.myform.ckbox[j].checked = true;
         }
      }
   }
}
//  -->
</script>

<!------------------ 여기까지 --------------->

</HEAD>

<BODY>

<p align=center>
아래 체크박스에서는 한가지만 선택이 가능합니다
<p align=center>

<!----- 2. 원하는 위치에 아래와 같이 코드를 붙여 넣으세요 ------->

<form name=myform>
항목 1<input type="checkbox" name="ckbox" onClick="javascript:checkBoxValidate(0)"><br>
항목 2<input type="checkbox" name="ckbox" onClick="javascript:checkBoxValidate(1)"><br>
항목 3<input type="checkbox" name="ckbox" onClick="javascript:checkBoxValidate(2)"><br>
항목 4<input type="checkbox" name="ckbox" onClick="javascript:checkBoxValidate(3)"><br>
항목 5<input type="checkbox" name="ckbox" onClick="javascript:checkBoxValidate(4)"><br>
항목 6<input type="checkbox" name="ckbox" onClick="javascript:checkBoxValidate(5)"><br>
항목 7<input type="checkbox" name="ckbox" onClick="javascript:checkBoxValidate(6)"><br>
항목 8<input type="checkbox" name="ckbox" onClick="javascript:checkBoxValidate(7)"><br>
</form>

<!------------------ 여기까지 -------------->

</BODY>
</HTML>

 

[출처] 자스코 (http://www.jasko.com/xe/6573)

반응형

댓글()

SUBSTR 함수 사용법

프로그래밍/PHP|2015. 1. 27. 11:22
반응형

-- SUBSTR(char, position, length) 

char 문자열에서 position 위치를 찾아 length 만큼 반환합니다. 

position이 음수일경우 문자열의 뒤에서부터 찾습니다. 

length 를 생략할경우 position 위치부터 문자열끝까지 반환합니다. 

char 문자열에는 한글을 사용할수 있습니다.

백문이 불여일견이므로 아래 사용예를 참고하시기 바랍니다. 

 

SELECT SUBSTR('You are so beautiful.', 1, 3) SUBSTR FROM DUAL
SUBSTR
------
You   
 
 
SELECT SUBSTR('You are so beautiful.', 9) SUBSTR FROM DUAL
SUBSTR       
-------------
so beautiful.
 
 
SELECT SUBSTR('You are so beautiful.', 9, 2) SUBSTR FROM DUAL
SUBSTR
------
so    
 
 
SELECT SUBSTR('You are so beautiful.', -13, 2) SUBSTR FROM DUAL
SUBSTR
------
so    
 
 
SELECT SUBSTR('You are so beautiful.', -10) SUBSTR FROM DUAL
SUBSTR    
----------
beautiful.
 
 
SELECT SUBSTR('당신은 정말 아름다워.', 1, 3) SUBSTR FROM DUAL
SUBSTR
------
당신은
 

 
SELECT SUBSTR('당신은 정말 아름다워.', 1, 5) SUBSTR FROM DUAL
SUBSTR   
---------
당신은 정

 

 

SELECT SUBSTR('당신은 정말 아름다워.', 2, 2) SUBSTR FROM DUAL
SUBSTR
------
신은  
  

[출처] 삽질하는 프로그래머 | 수퍼맨 (http://blog.naver.com/hgamma?Redirect=Log&logNo=100121734419)

반응형

댓글()

체크박스 전체선택 해제 & 체크박스 선택 삭제

반응형

================================================================

 function doChkBox(bool) { // 체크박스 전체선택/해제 
    var obj = document.getElementsByName("coworkCd"); 
    for (var i=0; i<obj.length; i++) obj[i].checked = bool; 
     }

 

  <input type="checkbox"  onclick="doChkBox(this.checked);"/>

================================================================

 

 

================================================================

  function doSelDel(){ //체크박스 선택 삭제 
   var selRoom = document.frm.coworkCd;       
   var cnt=0;
      var roomNo="";
  if (selRoom.length > 1){
   for (var i=0; i< selRoom.length; i++){
       if ( selRoom[i].checked){
        cnt++;
     roomNo =roomNo+","+selRoom[i].value;
     }
   }
     if (cnt==0) {
         alert("선택하신 글이 없습니다.");
      return;
     }
    }
    //체크박스가 하나밖에 없을때 경우
    else{
     if ( selRoom.checked ){
     cnt++;                    
     roomNo = selRoom.value; 
     }
     if (cnt==0) {
         alert("선택하신 글이 없습니다.");
      return;
     }                         
  }
     var param = "?coworkCd="+roomNo;    
      if(confirm('정말 삭제하시겠습니까?')){
       document.frm.action="checkDel.do"+param;
       document.frm.submit();  
    }
  }

 

 <a href="javascript:doSelDel("><img src="/images/admin/btn_del.gif" alt="삭제" /></a>

================================================================

 

 

[출처] ustamun 님의 블로그 | 훈남처리 (http://blog.naver.com/ustamun?Redirect=Log&logNo=110101780230)

반응형

댓글()