테스트 사이트 - 개발 중인 베타 버전입니다

유용한 일반 함수 모음 (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));
}

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 12개

감사합니다!!
유용한 정보 감사합니다.
go 함수에서 스크립트 echo 를 die로 바꿔주세요 ㅎㅎ
// HTML Tag를 제거하는 함수 del_html
아무리 봐도 함수가 이상한데요 !
긍게요
"&lt;", "&gt;" 요건디 잘못쓴거 아닌가 모르것네요
우와~ 정말 감사합니다. 하나씩 배워가겠습니다.
사소하다고 볼수도 있지만 가끔 생각이 안날때가 있는데 모아두시니 조으네요 ㅎㅎ ^^
2...2018년에 작성된게 맞죠? 덜덜덜..

게시글 목록

번호 제목
16429
16424
16423
16412
16408
16407
16401
16395
16394
16391
16390
16389
16387
16386
JavaScript js playground
16382
16381
16377
16374
16372
16356
16355
16354
16353
16347
16346
16339
16338
16332
16331
16330