php 팁 명령어 잡동사니 모음



php 함수 모음 클래스

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,"cgi") ||    
                !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: PHP/".phpversion();
        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()));
        $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.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0\" width=\"$width\" height=\"$height\"}         {param name=movie value=\"$urlpath\"}                {param name=quality value=high}                {embed src=\"$urlpath\" quality=high pluginspage=\"http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash\" type=\"application/x-shockwave-flash\" width=\"$width\" height=\"$height\"}                {/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"];    } }
 




php 유용한 일반 함수 모음


//페이지 이동
function go($move = "back",$time = "0") {
if($move == "back") echo("<script>history.back();</script>");
else echo("<meta http-equiv='refresh' content='$time;url=$move'>");
}

//메시지창+히스토리백
function alert($message,$move = "back") {
$print = "<script>window.alert('$message');";
if($move == "back") $print .= "history.back();";
else $print .= "location.href = '$move';";
$print .= "</script>";
echo("$print");
exit;
}

//디비접속
function db() {
global $connect;
if(!$connect) {
$connect = mysql_connect("localhost","testid","1234") or die("MySQL 접속 실패");
mysql_select_db("testdb",$connect) or die("MySQL 접속 실패");
}
}

//단어 필터링
function filter($string,$filter = "",$type = "change",$change = "###") {
if(!$filter) return $string;
$filter = explode(",",$filter);
$fcount = sizeof($filter);
for($i = 0;$i < $fcount;$i++) {
if(eregi($filter[$i],$string)) {
if($type == "error") alert(""$filter[$i]"은(는) 금칙어입니다.");
else $string = str_replace($filter[$i],$change,$string);
}
}
return $string;
}

//문자열 커트
function cutstr($str,$size) {
if(!$size or (strlen($str) <= $size)) return $str;
else for($i = 0;$i < $size;$i++) if(ord($str[$i]) > 127) $over++;
return chop(substr($str,0,$size - $over%2))."...";
}

//테이블 생성여부 체크
function tablecheck($table,$db)
$result = mysql_list_tables($db);
for($i = 0;$i < mysql_num_rows($result);$i++) {
if($table == mysql_tablename($result,$i)) return true;
}
return false;
}

//빠른 DB자료 로드(노가다 도우미;;)
function select($table,$field = "*",$where = "") {
if(!$table) return false;
$q = "select $field from $table";
if($where) $q .= " where $where";
$result = mysql_query($q);
$return = mysql_fetch_array($result);
return $return;
}

//////////아래는 제로보드 lib.php에서 발췌한 함수입니다.

// 빈문자열 경우 1을 리턴
function isblank($str) {
$temp=str_replace(" ","",$str);
$temp=str_replace("n","",$temp);
$temp=strip_tags($temp);
$temp=str_replace(" ","",$temp);
$temp=str_replace(" ","",$temp);
if(eregi("[^[:space:]]",$temp)) return 0;
return 1;
}


// 숫자일 경우 1을 리턴
function isnum($str) {
if(eregi("[^0-9]",$str)) return 0;
return 1;
}


// 숫자, 영문자 일경우 1을 리턴
function isalNum($str) {
if(eregi("[^0-9a-zA-Z_]",$str)) return 0;
return 1;
}


// HTML Tag를 제거하는 함수
function del_html( $str ) {
$str = str_replace( ">", ">",$str );
$str = str_replace( "<", "<",$str );
return $str;
}


// 주민등록번호 검사
function check_jumin($jumin) {
$weight = '234567892345'; // 자리수 weight 지정
$len = strlen($jumin);
$sum = 0;

if ($len <> 13) return false;

for ($i = 0; $i < 12; $i++) {
$sum = $sum + (substr($jumin,$i,1)*substr($weight,$i,1));
}

$rst = $sum%11;
$result = 11 - $rst;

if ($result == 10) $result = 0;
else if ($result == 11) $result = 1;

$ju13 = substr($jumin,12,1);

if ($result <> $ju13) return false;
return true;
}


// E-mail 주소가 올바른지 검사
function ismail( $str ) {
if( eregi("([a-z0-9_-.]+)@([a-z0-9_-.]+)", $str) ) return $str;
else return '';
}

// E-mail 의 MX를 검색하여 실제 존재하는 메일인지 검사
function mail_mx_check($email) {
if(!ismail($email)) return false;
list($user, $host) = explode("@", $email);
if (checkdnsrr($host, "MX") or checkdnsrr($host, "A")) return true;
else return false;
}


// 홈페이지 주소가 올바른지 검사
function isHomepage( $str ) {
if(eregi("^http://([a-z0-9_-./~@?=&-#{5,}]+)", $str)) return $str;
else return '';
}


// URL, Mail을 자동으로 체크하여 링크만듬
function autolink($str) {
// URL 치환
$homepage_pattern = "/([^"'=>])(mms|http|HTTP|ftp|FTP|telnet|TELNET)://(.[^ n<"']+)/";
$str = preg_replace($homepage_pattern,"\1<a href=\2://\3 target=_blank>\2://\3</a>", " ".$str);

// 메일 치환
$email_pattern = "/([ n]+)([a-z0-9_-.]+)@([a-z0-9_-.]+)/";
$str = preg_replace($email_pattern,"\1<a href=mailto:\2@\3>\2@\3</a>", " ".$str);

return $str;
}


// 파일 사이즈를 kb, mb에 맞추어서 변환해서 리턴
function getfilesize($size) {
if(!$size) return "0 Byte";
if($size<1024) {
return ($size." Byte");
} elseif($size >1024 $size< 1024 *1024) {
return sprintf("%0.1f KB",$size / 1024);
}
else return sprintf("%0.2f MB",$size / (1024*1024));
}



[ php 내장함수 모음 ]

1. 날짜 및 시간 관련함수

*time()
-용도: 현재 시각을 timestamp값으로 구한다.
-방법: time()

*date()
-용도: 사용자가 지정한 형태로 시간을 표시. 특정시간의 날짜와 요일등을 배열로 리턴한다.
-방법: date("표시할 시간의 포맷형태","특정한 timestamp값")

*mktime()
-용도: 지정된 날짜를 timestamp값으로 변환한다.
-방법: mktime(시,분,초,월,일,년)

*checkdate()
-용도: 날짜와 시간이 올바른 범위 안에 있는지 검사한다.
-방법: checkdate(월,일,년)

*getdate()
-용도: 특정timestamp값으로 시간,요일,날짜정보를 배열로 반환한다.
-방법: getdate(timestamp값) 또는 getdate()

*gettimeofday()
-용도: 현재 시스템의 현재 시간 정보를 배열로 리턴한다.
-방법: gettimeofday()

*gmmktime()
-용도: 그리니치표준 시간으로 지정한 날짜의 timestamp값을 리턴한다.
-방법: gmmktime(시,분,초,월,일,년)

*strftime()
-용도: 특정한 포맷으로 날짜 정보를 출력하는데 언어를 지정할수 있다.
-방법: strftime("표시할 시간의 포맷형태","특정시간의 timestamp값")

*microtime()
-용도: 현재시간의 마이크로타임 값과 timestamp값을 표시한다.
-방법: microtime()

*localtime()
-용도: 현재 서버의 로컬 타임을 표시
-방법: localtime() 또는 localtime("timestamp값")

2. 문자열 처리함수

*addslashes()
-용도: 작은따옴표 큰따옴표와 같은 특정문자 앞에 역슬래시 문자를 붙인다.
-방법: addslashes()

*stripslashes()
-용도: allslashes로 역슬래시 처리된 문자를 원상태로 되돌린다.
-방법: stripslashes()

*htmlspecialchars()
-용도: HTML코드를 소스 그대로 출력해준다.
-방법: htmlspecialchars()

*nl2br()
-용도: 문자열에 포함된 개행 문자를 <br>태그로 모두 바꿔준다.
-방법: nl2br()

*echo()
-용도: 문자열 출력
-방법: echo("변수명" 또는 "문자열")

*sprintf()
-용도: 포맷 문자열을 통해 지정해 준 포맷으로 문자열을 표시한다.
-방법: sprintf("포맷","변수명")

*printf()
-용도: 지정할 수 있는 포맷에 따라 문자열을 출력한다.
-방법: printf("포맷","변수명")

*explode()
-용도: 문자열을 지정해준 구분자로 분리하여 배열에 저장한다.
-방법: explode("구분자","문자열인수")

*implode()
-용도: 구분자로 나누어 배열에 담은 문자열을 다시 지정해준 구분자로 연결하여 전체 문자열을 반환한다.
-방법: implode("구분자",배열변수명)

*join()
-용도: implode()와 동일한 기능을 수행한다.
-방법: join("/", "배열변수명")

*split()
-용도: 주어진 문자열을 정규표현식의 패턴에 따라 분리하여 배열에 저장한다.
-방법: implode("정규표현식","문자열")

*strcmp()
-용도: 두개의 문자열을 비교하여 참이면1, 거짓이면 0을 반환한다.
-방법: strcmp("문자열","문자열") 또는 strcmp("문자열","변수명") 또는 strcmp(변수명, 변수명)

*substr()
-용도: 문자열에서 특정시작 문자부터 길이만큼의 문자열을 추출하여 반환한다.
-방법: substr("문자열", 시작문자번호, 문자열의 길이)

*strchr()
-용도: 문자열이 처음으로 나타나는 위치부터 끝까지 반환
-방법: strchr("문자열","찾을 문자열")

*strstr()
-용도:strchr()함수와 동일한 수행을 한다.
-방법: strstr("문자열","찾을 문자열")

*strrchr()
-용도: 문자열이 마지막으로 나타나는 위치부터 끝까지 반환한다.
-방법: strrchr("문자열","찾을문자열")

*strpos()
-용도: 문자열 대신 처음으로 나타나는 위치를 숫자로 반환, 이때 숫자는 0부터 시작.
-방법: strpos("문자열","찾을 문자열")

*strrpos()
-용도: 찾고자 하는 문자열에서 마지막으로 나타나는 위치를 반환한다.
-방법: strrpos("문자열", "찾을 문자열")

*strlen()
-용도: 문자열의 길이를 반환한다.
-방법: strlen($변수명) 또는 strlen("문자열")

*strtolower()
-용도: 알파벳 대문자를 모두 소문자로 바꾸어 반환한다.
-방법: strtolower("문자열")

*strtoupper()
-용도: 알파벳 대문자를 소문자로 바꾸어 반환한다.
-방법: strtoupper("문자열")

*ucfirst()
-용도: 알파벳 문자열의 첫 글자를 대문자로 반환한다.
-방법: unfirst("문자열")

*ucwords()
-용도: 알파벳 문자열의 첫 글자를 대문자로 반환한다.
-방법: ucwords("문자열")

*strrev()
-용도: 인자로 전달한 문자열의 순서를 역전시킨다.
-방법: strrev("문자열")

*strtr()
-용도: 문자열에서 변경하고자 하는 문자열을 변경할문자열로 1:1 변경해준다.
-방법: strtr("문자열","변경하고자하는 문자열","변경할 문자열")

*str_replace
-용도: 문자열 중에 변경하고자 하는 문자열을 찾아 변환한다.
-방법: str_replace("찾을 문자열","변경할 문자열","문자열 원본")

*chop()
-용도: 문자열의 뒷부분의 공백 문자를 제거한 후 반환한다.
-방법: chop("문자열")

*trim()
-용도: 문자열의 앞과 뒤에 있는 공백을 제거한 후 문자열을 반환한다.
-방법: trim("문자열")

*quotemeta()
-용도: 메타문자 앞에 역슬래시를 붙인다.
-방법: quotemeta()

*ord/chr()
-용도: ord()함수는 문자열에서 첫번째 문자에 아스키코드값을 반환하고 chr()함수는 아스키함수에 해당하는 문자를 반환한다.
-방법: ord("문자열"), chr("아스키값")

*parse_str()
-용도: get방식과 같은 형태의 변수형을 변수와 값으로 받을 수 있게 해준다.
-방법: parse_str(변수명)

3.파일관련함수

*fopen()
-용도: 로컬경로의 파일이나 url경로의 파일을 읽기 모드나 쓰기 모드로 열어준다.
-방법: fopen("절대경로명/파일", "모드")또는 fopen("url주소", "모드")

*fclose()
-용도: fopen으로 열린 파일을 닫는다.
-방법: fclose($fp)

*fread()
-용도: 파일포인터가 가리키는 파일의 내용을 지정한 크기만큼 읽어 들인다.
-방법:fread($fp,"읽어들일 바이트")

*feof()
-용도: 현재 파일 포인터가 파일의 끝인지를 알려주는 함수
-방법: feof($fp)

*fgets()
-용도: 파일을 읽어올때 한줄씩 읽어온다.
-방법: fgets($fp,"읽어들일 바이트")

*fputs()
-용도: 파일을 a 또는 w 모드로 열어 문자열을 파일에 기록한다.
-방법: fputs($fp, "문자열")

*fwirte()
-용도: 파일을 기록한다.
-방법: fwrite($fp, "문자열")

*fpassthru()
-용도: 파일포인터의 현재 위치에서 파일의 끝까지 읽어 들이도록 한다.
-방법: fpassthru($fp)

*readfile()
-용도: fpassthru와 비슷하지만 fopen()없이 직접 바로 파일을 읽어들일 수 있다. 읽어들인 파일의 절대경로를 포함한다.
-방법: readfile("파일의 절대경로 또는 상대경로/파일명")

*fgetc()
-용도: 파일로부터 한문자를 읽어들인다.
-방법: fgetc($fp)

*filesize()
-용도: 파일의 크기를 바이트수로 반환한다.
-방법: filesize("파일경로/파일명")

*file_exists()
-용도: 파일이름으로 지정한 파일이 존재하는지 검사한다.
-방법: file_exists("파일경로/파일명")

*is_file()
-용도: 파일이름으로 지정한 이름이 파일면 true를 반환한다.
-방법: is_file("파일경로/파일명")

*is_dir()
-용도: 파일이름으로 지정한 이름이 디렉토리일경우 true를 반환한다.
-방법: is_dir("파일경로/파일명")

*is_link()
-용도: 파일이름으로 지정한 이름이 심볼릭 링크일경우 true를 반환한다.
-방법: is_link("파일경로/파일명")

*is_escutable()
-용도: 파일이름으로 지정한 파일이 실행 가능한 파일이면 true를 반환한다.
-방법: is_excutable("파일경로/파일명")

*is_readable()
-용도: 파일이름으로 지정한 파일이나 디렉토리가 읽기 가능한경우 true를 반환한다
-방법: is_readable("파일경로/파일명 또는 디렉토리명")

*is_writeable()
-용도: 파일이름으로 지정한 파일이나 디렉토리가 쓰기 가능한 경우 true를 반환한다
-방법: is_writeable("파일경로/파일명 또는 디렉토리명")

*copy()
-용도: 파일을 복사하고 제대로 수행이 되면 true를 반환한다.
-방법: copy("파일경로/복사할 파일명", "파일경로/복사된 파일명")

*rename()
-용도: 파일을 이름을 바꾼다. 제대로 수행이 되면 true를 반환한다.
-방법: rename("파일경로/변경할 파일명", "파일경로/변경후 파일명")

*unlink()
-용도: 파일을 삭제한다. 제대로 수행될 경우 true를 반환한다.
-방법: unlink("파일경로/삭제할 파일명")

*mkdir()
-용도: 디렉토리를 생상하고 동시에 권한도 함께 지정할 수 있다.
-방법: mkdir("경로/디렉토리명")

*rmdir()
-용도: 디렉토리 삭제
-방법: rmdir("경로/디렉토리명")

*basename()
-용도: 경로명과 파일명을 받아 파일명만을 반환한다.
-방법: basename("파일경로/파일명")

*dirname()
-용도: 경로명과 파일명을 받아 경로명만을 반환한다.
-방법: dirname("파일경로/파일명")

*file()
-용도: 줄단위로 읽어서 각 줄으 문자열을 배열로 하여 반환한다.
-방법: dirname("파일경로/파일명")

4.디렉토리 관련함수

*opendir()
-용도: 지정한 디렉토리에 대한 핸들을 얻는다.
-방법: opendir("디렉토리 경로")

*closedir()
-용도: opendir()함수 호출로 열어둔 디렉토리에 대한 핸들을 닫는다.
-방법: closedir($od)

*readdir()
-용도: 디렉토리에 있는 모든 디렉토리 및 파일들의 이름을 읽어 배열의 형태로 반환
-방법: readdir($od)

*rewinddir()
-용도: 디렉토리 핸들의 포인터 위치를 제일 처음으로 되돌린다.
-방법: rewinddir($od)

*chdir()
-용도: 지저한 디렉토리로 바꾼다.
-방법: chdir("경로명/디렉토리명")

*dir()
-용도: 디렉토리 관련 함수를 사용할 수 있는 클래스
-방법: dir("경로/디렉토리명")

5. URL관련함수

*parse_url()
-용도: url을 입력하면 해당 url에 대한 정보를 연관 배열로 저장하여 반환
-방법: parse_url("URL주소")

*urlencode()
-용도: 데이터를 url인코딩해준다.
-방법: urlencode("문자열")

*urldecode()
-용도: url을 통해 넘어온 값 중 인코딩된 문자열을 디코딩한다.
-방법: urldecode("문자열")

6.변수 및 수학 관련함수

*gettype()
-용도: 변수형을 반환한다.
-방법: gettype("변수명")

*settype()
-용도: 변수형을 변환한다.
-방법: settype("변수명", "변수타입")

*intval()
-용도: 변수값을 정수형 값으로 변환
-방법: intval("변수값")

*doubleval!()
-용도: 변수값을 실수형 값으로 변환한다.
-방법: doubleval!("변수값")

*strval()
-용도: 변수를 문자형 값으로 변환한다.
-방법: strval("변수값")

*isset()
-용도: 변수가 존재하는지 확인한다.
-방법: isset("변수명")

*unset()
-용도: 변수를 삭제한다.
-방법: unset("변수명")

*empty()
-용도: 변수에 값이 존재하는지 확인하여 없으면 true를 있으면 false를 반환한다.
-방법: empty("변수명")

*is_array()
-용도: 변수의 형이 배열인지 확인한다.
-방법: is_array("변수명")

*is_double
-용도: 변수의 형이 더블형인지 확인한다.
-방법: is_double("변수명")

*abs()
-용도: 변수의 절대값을 반환
-방법: abs("변수명")

*round()
-용도: 변수의 반올림한 값을 구한다.
-방법: round("변수명")

*ceil()
-용도: 변수 값의 무조건 올림 값을 구한다.
-방법: ceil("변수명")

*floor()
-용도: 변수값의 무조건 내림 값을 구한다.
-방법: floor("변수명")

*pow()
-용도: 인자 값만큼 제곱승 한 값을 구한다.
-방법: pow("변수명", "제곱할 횟수")

*max & min()
-용도: 최대값과 최소값을 구한다.
-방법: max("숫자값", "숫자값",...) min("숫자값", "숫자값",...)

7.기타 알아두어야 할 함수

*count()/sizeof()
-용도: 배열의 크기를 구한다.
-방법: count("변수명") sizeof("변수명")

*each()/list()
-용도: 배열의 내용을 출력할때 사용한다.
-방법: each("배열변수명"), list("배열의 인자를 받을 변수명", "배열의 인자를 받을 변수명"...)

*end()/next()/reset()
-용도: 현재 배열의 포인터를 끝이나 다음으로 이동시킨다. reset은 배열포인터를 다시 처음으로 되돌린다.
-방법: end("배열변수명") next("배열변수명")

*exec()
-용도: 리눅스 서버의 내부 명령어를 사용하게 한다.
-방법: exec("리눅스명령어", "결과를 저장할 변수명" ,"에러발생시 저장할 변수명")

*number_format()
-용도: 천단위마다 ","를 붙여준다.
-방법: number_format("변수명", "소수점자리수", "소수점 표시마크변경", "천단위 표시 마크변경")

*show_source() / highlight_string()
-용도: php파일의 소스를 보여준다.
-방법: show_source("경로명/파일명") highlight_string("변수명")

*uniqid()
-용도: 유일한 아이디 값을 만들어준다
-방법: uniqid()














Apache-specific functions 
apache_lookup_uri

Perform a partial request for the specified URI and return all info about it    

구문 : class apache_lookup_uri(string filename)

apache_note

Get and set apache request notes

구문 : string apache_note(string note_name, string [note_value] )

getallheaders

Fetch all HTTP request headers

구문 : array getallheaders(void)

virtual

Perform an Apache sub-request

구문 : int virtual(string filename)

Arbitrary precision mathematics
bcadd

Add two arbitrary precision numbers.

구문 : string bcadd(string left operand, string right operand, int [scale] )

bccomp

Compare two arbitrary precision numbers.

구문 : int bccomp(string left operand, string right operand, int [scale] )
bcdiv

Divide two arbitrary precision numbers.

구문 : string bcdiv(string left operand, string right operand, int [scale] )

bcmod

Get modulus of an arbitrary precision number.

구문 : string bcpow(string x, string y, int [scale] )

bcmul

Multiply two arbitrary precision number.

구문 : string bcmul(string left operand, string right operand, int [scale] )

bcpow

Raise an arbitrary precision number to another.

구문 : string bcpow(string x, string y, int [scale] )

bcscale

Set default scale parameter for all bc math functions.

구문 : string bcscale(int scale)

bcsqrt

Get the square root of an arbitray precision number.

구문 : string bcsqrt(string operand, int scale)

bcsub

Subtract one arbitrary precision number from another.

구문 : string bcsub(string left operand, string right operand, int [scale] )

Array functions 
array

배열을 만듭니다.

구문 : array array(...)

array_count_values배열안에 값들이 몇번 사용되었는지를 배열로 리턴합니다.
구문 : array array_count_values(array input)
array_flip

배열의 키와 값을 뒤바꿉니다.

구문 : array array_flip(array trans)

array_keys

배열의 모든 키를 반환합니다.

구문 : array array_keys(array input, mixed [search_value] )

array_merge

두 개 또는 그 이상의 배열을 합칩니다.

구문 : array array_merge(array array1, array array2, [...] ) 

array_pad

현재 앞(-),뒤(+)로 새로운 값들을 추가시킵니다.

구문 : array array_pad(array input, int pad_size, mixed pad_value)

array_pop

배열의 마지막 요소를 빼냅니다.

구문 : mixed array_pop(array array)

array_push

하나 또는 그 이상의 요소를 배열의 마지막에 넣습니다.

구문 : int array_push(array array, mixed var, [...] )

array_reverse

배열의 값들을 역순으로 바꿉니다.

구문 : array array_reverse(array array)

array_shift

배열의 첫번째 요소를 빼냅니다.

구문 : mixed array_shift(array array)

array_slice

배열에서 일부분을 읽어옵니다.

구문 : array array_slice(array array, int offset, int [length] )

array_splice배열에서 일부분을 없애고 다른 것으로 바꿉니다.
array_unshift배열의 맨 앞에 하나 또는 그 이상의 요소를 넣습니다.
array_values배열의 모든 요소의 값들을 반환합니다.
array_walk배열의 모든 요소에 함수를 적용합니다.
arsort인덱스는 유지하면서 값들의 역순으로 정렬합니다.
asort인덱스는 유지하면서 값들을 정렬합니다











태초에 나는 개그이야기를 만들었다.
내말을 믿고 나를 따르면 천당,
내말을 믿지않고 나를 따르지 않으면 지옥,
나는 하늘나라(우주)에 사느니라.

그럼 난 외계인?