PHP & SQL

[PHP] 유용한 함수

홍사훈     0건     1,296회

본문

* 페이지 이동

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;

}

 

* 빈문자열 경우 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));

}

 

등록된 댓글이 없습니다.



Copyrightⓡ1996~2017, sahoon.com All Rights Reserved.