웹마스터 팁

//이것들은 일반 프로그래밍에서 자주 쓰이는 함수들만 모은 것입니다.



//페이지 이동
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( ">", "&gt;",$str );
    $str = str_replace( "<", "&lt;",$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 혼자 공부하기 - 8 :: 시간다루기 [18] 행복한고니 2003.04.13
PHP 혼자 공부하기 - 9 :: 정규식 함수 [3] 행복한고니 2003.04.14
PHP 혼자 공부하기 - 10 :: 정규식 패턴 문법 [3] 행복한고니 2003.04.15
PHP 혼자 공부하기 - 11 :: 정규식 실전예제 [9] file 행복한고니 2003.04.16
[mics'php] 1. PHP란? [8] TheMics 2003.04.16
[mics'php] 2. PHP 사용 시스템 구축하기 [3] file TheMics 2003.04.17
데이터베이스, PHP를 만나면「알짜 사이트로 부활!」 [1] .maya 2003.04.18
PHP 혼자 공부하기 - 12 :: SQL문 [6] file 행복한고니 2003.04.20
노프레임+프레임없이 접근막기+게시물 링크하기 [3] teslaMINT 2003.04.20
유용한 일반 함수 모음;ㅁ; [11] TheMics 2003.04.23
군대간 친구 남은날짜 계산하기 [6] xacdo 2003.04.27
ID3v1태그 읽는 함수입니다. [4] 김승태 2003.04.27
if 시리즈 1탄! [15] 씨파개 2003.04.28
PHP 확장 함수를 이용한 exif 정보 출력 [1] file NoSoRi 2003.04.30
if 시리즈 2탄.. ㅡㅡ;; [9] 씨파개 2003.05.05
mysql_fetch_row n mysql_fetch_array n mysql_fetch_object [4] sMokaHallo 2003.05.06
이미지 전용 파일업로드시의 확장자 체크시.. [4] 특급잠수부 2003.05.07
PHP+MSSQL?(수정판) [11] 씨파개 2003.05.10
세션파일 크기/만들어진 시간체크해서 정해진 시간이후엔 파일 지우기?;; (라고 써야되낭? ;;) [6] 다오케이 2003.05.12
none 과 null 처리 문제 해결법 [5] 허현승 2003.05.12