PHP |
유용한 함수홍사훈 0건 5,855회 15-04-25 09:15 |
---|
관련링크
본문
* 페이지 이동
if($move == "back") echo("<script>history.back();</script>");
else echo("<meta http-equiv='refresh' content='$time;url=$move'>");
}
* 메시지창+히스토리백
$print = "<script>window.alert('$message');";
if($move == "back") $print .= "history.back();";
else $print .= "location.href = '$move';";
$print .= "</script>";
echo("$print");
exit;
}
* 디비접속
global $connect;
if(!$connect) {
$connect = mysql_connect("localhost","testid","1234") or die("MySQL 접속 실패");
mysql_select_db("testdb",$connect) or die("MySQL 접속 실패");
}
}
* 단어 필터링
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;
}
* 문자열 커트
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))."...";
}
* 테이블 생성여부 체크
$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자료 로드(노가다 도우미;;)
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을 리턴
$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을 리턴
if(eregi("[^0-9]",$str)) return 0;
return 1;
}
* 숫자, 영문자 일경우 1을 리턴
if(eregi("[^0-9a-zA-Z\_]",$str)) return 0;
return 1;
}
* HTML Tag를 제거하는 함수
$str = str_replace( ">", ">",$str );
$str = str_replace( "<", "<",$str );
return $str;
}
* 주민등록번호 검사
$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 주소가 올바른지 검사
if( eregi("([a-z0-9\_\-\.]+)@([a-z0-9\_\-\.]+)", $str) ) return $str;
else return '';
}
* E-mail 의 MX를 검색하여 실제 존재하는 메일인지 검사
if(!ismail($email)) return false;
list($user, $host) = explode("@", $email);
if (checkdnsrr($host, "MX") or checkdnsrr($host, "A")) return true;
else return false;
}
* 홈페이지 주소가 올바른지 검사
if(eregi("^http://([a-z0-9\_\-\./~@?=&-\#{5,}]+)", $str)) return $str;
else return '';
}
* URL, Mail을 자동으로 체크하여 링크만듬
// 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에 맞추어서 변환해서 리턴
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));
}
등록된 댓글이 없습니다.