PHP 사용자 함수 모음


PHP 사용자 함수 모음




최초 작성일 : 2021-06-22 | 수정일 : 2021-06-22 | 조회수 :

class Func{     
/////////////////// DB 관련 ///////////////////////
##1 ###
# DB 접속 정보를 가지고 있는 화일을 인쿠루드 시키고, 그의 변수 값들을    # 넘기면 된다.    # DB 접속 부분 성공 1반환, 실패 0반환/ 굳이 처리 하지 않아도 상관없다.     #    
function dbConn($HOST, $USER, $PASS, $DBNAME) {        $connect = @mysql_connect($HOST,$USER,$PASS);        if(!$connect) $err = @mysql_error();        $result = @mysql_select_db($DBNAME,$connect);        if(!$result){            $err = @mysql_error();            return 0;        } else    return 1;    }     ##2 ##    # 반복되는 Row와 Fetch가 귀찮다.    # 종류는 select 시 result, row를 받으면 되고, insert, update, delete    # 는 exec를 받아서 실행만 하면 땡이다.        function sqlrow($query) {        $result = @mysql_query($query);        return @mysql_fetch_array($result);    }    function sqlresult($query) {return @mysql_query($query);}    function sqlfetch($result) {return @mysql_fetch_array($result);}    function sqlexe($query) {return @mysql_query($query);}     ##3 ##    # Count 수와 컬럼 하나의 값을 얻을수있다.            function sqlcount($sql) {        $result = @mysql_query($sql);        $row = @mysql_fetch_array($result);        return $row[0];    }     ##4 ##    # 게시판에서 현재수보다 1큰 수를 반환하다.    # 보통 mysql auto-increment를 쓰지만..            function sqlmaxno($sql) {        $result = @mysql_query($sql);        $row = @mysql_fetch_array($result);        return $row[0]+1;    } /////////////////// DB 관련 끝///////////////////////     ##5 ###    # 날짜 구하기이다.. 수시로, 년, 월, 일, 날짜와 시간을 초로 반환한다.    # 구분자는 $str로 하고 year, month, day, all, time, 현재 년-월-일으로 한다.    # 사용법은 $str를 넘기면서 return 값을 받으면 된다.    # 공동구매나 / 호스팅관리 등 날짜에 관련된 사이트 만들때 유용     #    function dateSeek($str) {        if($str == 'year') return date('Y', mktime());        else if($str == 'month') return date('m', mktime());        else if($str == 'day') return date('d', mktime());        else if($str == 'all') return date('Y-m-d', mktime());        else if($str == 'time') return mktime();        else {            $tmpArr=explode('-',$str);            return mktime(0,0,0,$tmpArr[1], $tmpArr[2], $tmpArr[0]);        }    }     ##6 ###    # 한글을 깨지지 않게 자르는 함수이다.    # 사용법은 함수호출과 더불어 자를 문자열과 길이를 입력하면된다.    # 한글 자르는 함수는 많이 있지만. PHPSCHOOL에서 가장 호응이 좋은걸로    # 택했다.     #    function hanCut($str, $len) {        if ($len >= strlen($str)) return $str;        $klen = $len - 1;        while(ord($str[$klen]) & 0x80) $klen--;        return substr($str, 0, $len - (($len + $klen + 1) % 2)) .'..';    }     ##7 ###    # 페이지를 뒤로 강제로 Back 시키고자 할때 사용하면 된다.    # 사용법은 왜 Back을 시키는지 이유를 인자로 넘기면 된다.     ## // script 오류가 나서.. 몇몇 부분에 '<', '>'를 '{', '}'로 바꿔 났으니까.. //echo 부분에만 고치시면 된다.
   function alertBack($msg) {        echo '{script language=javascript}                {/script}';        exit;    }     ##8 ###    # 페이지를 이동시킬때 쓴다.    # 사용법은 url을 넘기면 끝~     # // script 오류가 나서.. 몇몇 부분에 '<', '>'를 '{', '}'로 바꿔 났으니까.. //echo 부분에만 고치시면 된다.
   function goUrl($url, $msg) {        if(!empty($msg)) {            echo '                {script}                    alert(\'$msg\');                {/script}                ';        }        echo '{meta http-equiv='refresh' content=\'0;URL=$url\'}';        exit;    }     ## 9 ##    # 파일 업로드할때 호출하면 된다.    # file : form 의 file객체명    # savedir : 저장할 경로 주의 : 디렉토리는 자동생성되지 않고, 권한 역시 777로 변경        function fileUpload($file, $file_name, $savedir) {        if($file != 'none') {            $pos = strpos($file_name,'.');            $name = substr($file_name,0,$pos);            $ext = substr($file_name,$pos+1);            if(strpos($ext,'php') || !strcmp($ext,'php3') || !strcmp($ext,'inc') || !strcmp($ext,'pl')                !strcmp($ext,'asp') || !strcmp($ext,'') ) {                $this->alertBack('확장자가 $ext 인 화일은 업로드 하실수 없다.');                exit;            }            $filename = $savedir.$file_name;            $i = 1;            while(file_exists('$filename')) {                $filename = $savedir.$name.'_'.$i.'.'.$ext;                $i++;            }            if(!copy($file,'$filename')) {                $this->alertBack('파일 업로드를 실패했다 .');                exit;            }            if(!unlink($file)) {                $this->alertBack('임시 파일을 삭제할 수 없다.');                exit;            }            $file_name = str_replace($savedir,'',$filename);            return $file_name;        }    }     ##10 ##    # 파일을 삭제할때 호출하면 된다.    # file_name : 삭제할 화일명    # savedir : 저장되어 있는 경로        function fileDelete($file_name,$savedir){        $file = $savedir.$file_name;        if(file_exists($file)) unlink($file); }     ##11 ###    # 파일을 다운로드 받고자 할때 사용하는 함수이다.    # 사용법은 자기 자신의 페이지를 리플래쉬 하면서    # 함수를 호출하는 방식으로 하면된다.     #    function saveFile($filename, $savedir) { $filepath = $savedir.$filename; if( strstr($_SERVER['HTTP_USER_AGENT'],'MSIE 5.5')){ header('Content-Type: doesn/matter'); header('Content-Disposition: filename=$filename'); header('Content-Transfer-Encoding: binary'); header('Pragma: no-cache'); header('Expires: 0'); } else{ Header('Content-type: file/unknown'); Header('Content-Disposition: attachment; filename=$filename'); header('Content-Transfer-Encoding: binary'); header('Pragma: no-cache'); header('Expires: 0');        } @readfile($filepath);    }     ##12 ##    # 메일 발송하고자 할때 인수를 넘겨주면 된다.
(html, text) 발송    # to : 받는사람 메일, from : 발송자 메일, from_name : 발송자명    # subject : 제목, contents : 내용, htmlcheck(y, n) : html발송여부        function sendMail($to, $from, $from_name, $subject, $contents, $htmlcheck) {        $bodytext = $this->htmlText($contents,$htmlcheck);        $additional = 'From:$from_name<$from>'.'\nContent-Type:text/html\nReply-To : $from \nX-Mailer:        mail($to,$subject,$bodytext,$additional);    }     ## 13 ##    # HTML 적용되는 컨텐츠..    # html사용시에는 y, n으로 구분        function htmlText($text, $htmlcheck) {        if($htmlcheck == 'n') {            $text = stripslashes($text);            $text = nl2br($text);        }        //html을 사용하는 경우        else {            $text = stripslashes($text);            $text = str_replace('<','<',$text);            $text = str_replace('>','>',$text);            $text = str_replace(''','\'',$text);        }        return $text;    }     ##14 ##    # Paging 함수.. 특정값을 넘겨 받아 함수 호출만으로 페이징 처리를 끝낸다.    # PageNo : 현재 페이지수    # PageSize : 라인수    # totalrows : 총 게시물 수    # whereqry : 전 검색시에 쿼리값을 SQL 조건문    # color : 현재 페이지인 경우 색상    # class : a 로 걸리는 링크에 클래스를 준다.        function paging($PageNo, $PageSize, $totalrows, $whereqry, $color, $class) {        $lastpgno=ceil($totalrows/$PageSize);        if($lastpgno!=0) {            if($PageNo>1) echo ' ◀ ';            else echo ' ◀ ';            if($PageNo>10) {                $prevPage=floor(($PageNo-1)/10)*10;                echo ' ◁ ';            }            else echo ' ◁ ';            $i=0;            $startpage=floor(($PageNo-1)/10)*10+1;            while($i<10 && $startpage<=$lastpgno){                if($PageNo<>$startpage) echo ' $startpage ';                else echo ' $startpage ';                $i++;                $startpage=$startpage+1;            }            $nextPage=floor(($PageNo-1)/10)*10+11;            if($nextPage<$lastpgno) echo ' ▷ ';            else echo ' ▷ ';            if($PageNo<$lastpgno) echo ' ▶ ';            else echo ' ▶ ';        }    }     ##15 ##    # 데이타를 가져올 첫 시작 포인트를 반환한다.        function getDbStartNo($PageNo, $PageSize) {        return ($PageNo-1)*$PageSize;    }     ##15 ##    # 랜덤 문자열 유일키 발생(상품코드로 사용) / 총 50자인데.. 필요한 만큼만 자르자.        function getCode($len) {        $SID = md5(uniqid(rand()));        $code = substr($SID, 0, $len);        return $code;    }        # 세션키 생성 주문번호로 가장 괜찮을거 같아 만들었음        function getSession() {        $SID = microtime();        $str = str_replace('-','',date('ymdHis', mktime())); 출처 phpschool.com        $session = $str.substr($SID, 4, 3);        return $session;    }        # 배열값들 살펴 보기(HTTP_POST_VARS, HTTP_GET_VARS, HTTP_SERVER_VARS 등    # 이외에 가끔씩. 배열값이 제대로 넘어오는지 확인해야할때가 있다.. 있대 사용..^^        function arrayView($Value) {        // 실제로 Array라는 문자열을 뿌려주지면 문자열이 아니여서 다시한번 string 관련함수 하나를 실행해 준다.        $chkArray = ucfirst($Value); //첫문자를 대문자로 변환        if($chkArray == 'Array') while(list($key,$val)=each($Value)) echo $key.' ==> '.$val.' \n';        else echo '배열이 아닙니다.';        exit;    }     ##23 ##    # Flash 코드도 꽤 길다.. 그래서. 함수화 해 버렸다.     ##    function flashLoad($urlpath, $width, $height) {        echo '            {object classid=\'clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\' codebase=\'http://download.         {param name=movie value=\'$urlpath\'}                {param name=quality value=high}                {embed src=\'$urlpath\' quality=high pluginspage=\'http://www.macromedia.com/shockwave                {/embed}            {/object}        ';    }    /////////// 이하는 빌더형 사이트를 변수를 잘 기억하기 힘들어서 ^^ //////////        # 루트 시스템 절대 경로 얻기        function getServerSys() {        return $_SERVER['DOCUMENT_ROOT'];    }        # 루트 Url 얻기(메일 발송할때 사용)        function getSeverUrl() {        return 'http://'.$_SERVER['HTTP_HOST'];    }        # 현재 시스템 경로 얻기        function getSyspath() {        return $_SERVER['SCRIPT_FILENAME'];    }        # 현재 URL 경로 얻기        function getUrlpath() {        return 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['SCRIPT_NAME'];    }        # 원격지 아이피 얻기        function getIp() {        return $_SERVER['REMOTE_ADDR'];    } }

Tags  #PHP  

닉네임:
댓글내용: