본문 바로가기

PHP∵SCRIPT182

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.
이벤트 핸들러 (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.
mySQL접속하기 자 우리가 만들었던 mySQL계정은..... 아이디:navy 패스워드:1234 디비이름:navy 위와 같습니다.....그쵸? 우선...apache와 mysql을 시동시키시고.... 아래와 같은 문장을 php문서에 담아서 실행해 볼까요~ 파일명은 connect.php로 하겠습니다...(connect..접속! -_-) 위 소스를 실행했을때 아무런 에러표시가 없다면...이전에 유저와 디비 생성이 정상적으로 되었고....지금 그 디비로 아무 문제 없이 접속되었다는 것입니다.... 뭔가 -_-이상하다싶으면 처음부터 다시 해보시고요;;; 소.. 2014. 4. 6.
mySQL사용하기 미리 말씀드렸지만 디비라는건 간단히 테이블입니다. 자료들을 일반 문서 처럼 그냥 마구잡이로 집어 넣는게 아니라... 테이블을 만들어서.....잘 정리해서 넣는다는거죠....... 함 볼까요? 어느 식당의 메뉴가 아래와 같이 있답니다... 비빔밥은 3000원이고 볶음밥은 3500원이고 된장찌개는 2500원인데다가 백반은 2000원입니다. 자.....위와 같이 어느 식당의 메뉴가 있는데... 돈이 2500원밖에 없습니다.... -_-;좀 불쌍하지만.....그렇다면 2500원이하의 메뉴를 먹어야 겠죠 그럼 2500원 이하인 메뉴를 찾아 봅시다....... 된장찌개,백반 그렇죠? 쉽습니다.....-_-; 그럼 이렇게 가정을 해보죠..... 그 식당에 메뉴가 100개가 있다고 해볼까요? @_@찾아보세요;;; 저런.. 2014. 4. 6.
mySQL이란... MYSQL은 뭘까요? 보통 SQL이란단어가 들어가면 DB(date base)를 말합니다. 데이터베이스라는것은 일련의 데이터들을 보기좋게...또는 쓰기좋게 잘 정리 해놓은 거죠... 간단하게 말하면 표(table)를 생각하시면 됩니다. 우리가 뭔가를 보기 좋게 정리 할때 표를 만들어 놓고 보죠...^^그쵸? 앞서 우리가 파일에 저장하는 방법을 배워보긴 했는데... 그걸 사용하기 쉽게 정리하기란 쉽지가 않습니다. 그리고 파일을 여닫는 속도 또한 장담할수가 없죠.... 또 검색이라든지 조건에 맞는 항목을 가져오는 방법에 있어서도 파일만을 이용하는 저장방법에는 한계가 따른다는거죠... 자....그래서 DB를 사용해야 한다는말씀인것인것입니다. @_@ 신문에서나 지하철에서 oracle광고를 많이 보셨죠? 보통 뭐 .. 2014. 4. 6.
반응형

Copyright ⓒ SmartWeb All rights reserved.