본문 바로가기

전체 글1754

사이트 방문경로와 검색한 단어 알기 어떤 검색엔진에서 어떤 검색어를 통해 사이트에 방문했는지 체크하는 알고리즘입니다. 완전한 프로그램을 올려 드리면 좋겠지만 그냥 알고리즘 정도만 파악하는데 참고 하세요... 간단히 먼저 설명을 드리자면 $_SERVER["HTTP_REFERER"] 를 통해 이전의 url 을 받아 옵니다. 예를들어 네어버에서 부자되는법 으로 검색을 하면 네이버 : http://search.naver.com/search.naver?where=nexearch&query=부자되는법&frm=t1&sm=top_hty 이렇게 됩니다. 물론 urldecode() 을 통해 디코딩을 해야 한글이 나옵니다. parse_url() 함수는 해당 url 을 host, query 로 구분하여 주는데 좀더 자세히 설명을 드리자면 주소와 ? 뒤에 있는 .. 2014. 4. 13.
문장에서 특정단어에 효과주기마스터 ////////////////////////////////////////////////////////////////////////////// // FUNCTION: word_replace_css // // Description: // 특정 단어를 골라내어 그 단어에 특수한 효과를 준다 // Param: // $query - search word // $string - target string // $css - effect // $ans - return value ////////////////////////////////////////////////////////////////////////////// function word_replace_css($query, $string, $css, $ans) { $.. 2014. 4. 13.
PHP를 이용한 이미지 사이즈 편집마스터 $file_dir="/home/image/img.jpg";//원본이미지주소 $im1 = imagecreatetruecolor($width, $height);//목적이미지 $im2 = @imagecreatefromjpeg($file_dir); $img_size = getimagesize($file_dir); // 인자설명: 목적이미지, 원본이미지, 목적이미지시작점X좌표, 목적이미지시작점Y좌표, 원본이미지시작점X좌표, 원본이미지시작점Y좌표, 목적이미지가로, 목적이미지높이, 원본이미지가로, 원본이미지높이 imagecopyresampled($im1 , $im2, 0, 0, 0, 0, $width, $height, $img_size[0], $img_size[1]); header('Content-type: imag.. 2014. 4. 13.
페이징- 다중 정렬 : 오름, 내림, 보통 저는 대부분의 소스들은 단순히 함수로만 제작하여 쓰고 있지만, 페이징기법처럼 여러가지 함수를 동시에 사용해야 될 경우에는 아래처럼 클래스를 도입하고 있습니다. 이 클래스의 장점이라고 한다면, 정렬 기능이 잘 되어 있다는 것입니다. 흔히들 타이틀을 눌렀을때, 오름, 내림차순으로 정렬 되는 기능을 구현하는 내용은 CSS환경에서는 대체로 구현이 잘되어 있지만, 웹에서는 많이 찾아 보기 힘든 내용인것 같습니다. 아래는 사용예제입니다. < ? /////////////////////////== 데이타처리 페이지이며, 선언부에 올려줍니다. // 페이지 초기값 생성 $nowpg = ($nowpg) ? $nowpg : 1; // 인스턴트 생성 $sql = new ListManager(); // 옵션 // 한화면에 보여줄.. 2014. 4. 13.
멀티 파일 업로드 예제 (Flex2+PHP) Flex2 와 php 를 연동한 쓸만한 멀티 파일 업로드 예제가 있어서 소개한다. 원리는 매우 간단하다. Flex2 는 업로드할 파일들의 선택과 업로딩 상태등의 UI 를 담당하고, php 는 보내온 파일들을 서버로 저장한다. 업로드 역할을 맡은 서버측 스크립트는 php 뿐만 아니라 다른 언어도 가능할 듯 하다. 예제에서는 간편한 php 를 사용했다. [upload.php] < /re.. 2014. 4. 12.
플래시 파일 정보 얻어오는 소스(PHP) 1. 사용법 $flash_info = getFlashInfo("flash.swf"); if($flash_info) { $output = "[플래피 파일 정보] "; if($flash_info[0] == 0) $output .= "비압축파일입니다. "; else $output .= "압축파일입니다. "; $output .= "플래시 플레이어 버전 : $flash_info[1] "; $output .= "플래시 파일 사이즈 : $flash_info[2] "; $output .= "플래시 스테이지 사이즈 : $flash_info[3] $flash_info[4] "; echo $output; } 2. 리턴값 정보 $info[0] : 파일 압축 여부(0이면 비압축, 1이면 압축파일) $info[1] : 버전 정보.. 2014. 4. 12.
문자열을 X로 마킹하는 함수 function strHideWord($str,$extent=null,$color="",$pos=0) { $str_len = strlen($str); $str_key = array(); $seq = 0; for($i=0;$i 128) { $seq++; if($seq%2==0) $str_key[]=$i+1; } else { $str_key[]=$i+1; } } $array_cnt = count($str_key); if($extent === null) $extent = intval($array_cnt/2); elseif($extent && $extent > $array_cnt) return $str; if($extent && $pos==0) $rtn = substr($str,0,$str_key[$extent.. 2014. 4. 12.
PHP 코드를 최적화하는 40가지 팁 (번역) 가끔 PHP로 웹페이지를 작성할 일이 있는데, 유용한 팁을 우연히 보게 되어 한글로 옮겨적어본다. 원본은 40 Tips for optimizing your php Code 1. If a method can be static, declare it static. Speed improvement is by a factor of 4. 메쏘드가 static이 될 수 있다면 static으로 선언하라. 4배 빨라진다. 2. echo is faster than print. echo가 print보다 빠르다. 3. Use echo’s multiple parameters instead of string concatenation. 문자열을 이어붙이지 말고, echo를 이용하여 여러 개의 파라미터를 적어라. 4. Set the.. 2014. 4. 11.
<![CDATA[ ]]> 이 구문은 무엇을 뜻하는 것일까요? CDATA는 SGML이나 XML에서 문자열(string)을 표현할 때 사용하는 토큰입니다. 저 안에 들어있는 내용은 문자열데이터라는 뜻이지요. 저안에 들어가 있는 태그는 무시해도 되는 태그라는 것을 파서에게 알려주므로 오동작이나 오류를 막을 수 있습니다. <script type="text/javascript"> // 2014. 4. 11.
이벤트 핸들러 (Event Handler) 모음 onabort 이미지의 다운로드를 중지할 때 (브라우저의 중지버튼) onactivate 개체가 활성활 될 때 발생 (태그의 기능이 작용할 때 발생하는 이벤트로 예를 들어 링크를 누를 경우 링크가 옮겨질때 발생하는 것을 감지하는 이벤트 핸들러) onafterprint 문서가 출력되거나 혹은 출력하기 위해 출력미리보기를 한후에 발생 onafterupdate 데이터영역 개체에서 발생하는 이벤트로 데이터 소스 오브젝트내의 데이터가 업데이트 되었을 때 발생(데이터 개체부분 참조) onbeforeactivate 개체가 활성화 상태로 되기 바로 직전에 발생 (onactivate를 참고) onbeforecopy 선택 영역이 시스템의 클립보드로 복사되기 바로 직전에 발생 onbeforecut 선택 영역이 지워지기 바로 .. 2014. 4. 11.
잘못된 PHP 코딩 스타일 1. 문자 쿼테이션 - 잘못된 코딩 $ret = $arr[var1]; - 올바른 코딩 $ret = $arr['var1']; 배열의 키 문자는 반드시 싱글 쿼테이션으로 처리해 주어야 한다. 쿼테이션이 들어가 있지 않은 변수인 경우 Notice 에러가 발생한다. 또한 싱글 쿼테이션과 더블 쿼테이션의 차이점을 명확히 알고 사용하는 것도 중요하다. 일반 문자열의 경우에는 싱글 쿼테이션을 사용하는 것이 바람직하다. 2. 변수 초기화 - 잘못된 코딩 $str .= "abc"; - 올바른 코딩 $str = ""; $str .= "abc"; 변수를 초기화 하지 않은 상태에서 변수를 마구 사용하는 경우가 허다하다. 이는 올바른 코딩 스타일이 아니다. 첫번째 구문은 초기화 없이 $str 이 추가되므로 Notice 에러가 .. 2014. 4. 8.
PHP의 소켓 함수 PHP의 소켓 함수 몇가지를 알아보고 넘어 가도록 하자. PHP의 소켓 함수는 C sys/socket.h 에 정의 되어있는 함수들과 매우 유사하다. 참고 하도록 하자. socket_create ( int domain, int type, int protocol ) 소켓의 연결 자원을 생성 합니다. 소켓 함수를 사용할때 기본으로 쓰입니다. domain 파라메터에는 AF_UNIX 또는 AF_INET 으로 유닉스 도메인 소켓 또는 인터넷 소켓으로 지정합니다. type 파라메터에는 STREAM, SOCK_DGRAM, SOCK_SEQPACKET, SOCK_RAW, SOCK_RDM, or SOCK_PACKET 등의 소켓의 종류가 설정 됩니다. protocol 파라메터에는 TCP또는 UDP 설정(SOL_UDP or S.. 2014. 4. 8.
PHP에서 암호화 encrypt 복호화 decrypt 해서 값을 넘기기 php에서 mcrypt_encrypt 함수를 이용할 수 있다면 손쉽게 적용할 수 있겠지만 함수를 이용할 수 없다면 mcrypt 관련 소스를 설치를 해야하며 php.ini 적용도 해야하는 번거러움이 있다. 그래서 php 스크립트를 이용해 함수를 이용해서 바로 이용가능 하도록 합니다. 먼저 암호화 encrypt 함수 : ### PHP암호화 함수 function encrypt($data,$k) { $encrypt_these_chars = "1234567890ABCDEFGHIJKLMNOPQRTSUVWXYZabcdefghijklmnopqrstuvwxyz.,/?!$@^*()_+-=:;~{}"; $t = $data; $result2; $ki; $ti; $keylength = strlen($k); $textlength.. 2014. 4. 7.
php 환경변수정리 $_SERVER["SERVER_PROTOCOL"]; // 프로토콜을 읽어온다 $_SERVER["SERVER_NAME"]; // 현재접속중 인 서버 이름을 읽어 온다(도메인) $_SERVER["SERVER_PORT"]; // 웹 서버가 사용하는 포트를 읽어온다. $_SERVER["REQUEST_URI"]; // 현재 위치한 웹의 주소를 읽어온다. $_SERVER["REQUEST_METHOD"]; // 전송방식을 읽는다(post,get) $_SERVER_ADDR; // 현재 접속중인 웹서버의 IP주소를 담고있다. $_REMOTE_ADDR; // 사용자의 IP주소를 담고있다. $_DOCUMENT_ROOT; // 웹페이지 문서가 저장되어 있는 루트 디렉토리를 담고있다 $_SERVER["SERVER_SOFTWAR.. 2014. 4. 7.
mySQL테이블의 설계 지금까지 mySQL계정을 만들고 접속하여 DB를 사용할수 있도록 DB를 select하는것까지 알아봤습니다... 그럼 이제 직접적으로 테이블을 만들고 사용을 해야겠죠... 일단 테이블의 설계에 대해 알아볼까요? DB에는 정규화라는게 있습니다. 사실 DB얘기를 깊게 하자면 @_@넘복잡하고...제가 아는것도 한계가 있기때문에 간단하게 요점만....어려운 용어 없이 얘기하도록 하겠습니다. 정규화의 예제를 한번 볼까요? 아래와 같은 테이블이 있습니다..... (수강신청테이블) 이름 주소 과목 ---- ----- ----- 김씨 서울 과학 김씨 서울 수학 이씨 인천 과학 이씨 인천 수학 이씨 인천 국어 박씨 서울 국어 위와 같은 수강신청 테이블이 있다고 볼까요.... 보아하니......누가 어디살고 어떤과목을 신청.. 2014. 4. 6.
반응형

Copyright ⓒ SmartWeb All rights reserved.