>  기사  >  백엔드 개발  >  일반적인 PHP 함수 모음

일반적인 PHP 함수 모음

巴扎黑
巴扎黑원래의
2016-11-23 15:21:181031검색

최근 PHP를 연구하고 있는데 저장해 보세요.
출처: php 소스 코드 네트워크 - 오픈 소스 프로그램(오픈 소스)


내용:
<
function GetIP() { //IP 얻기
if ( $_SERVER["HTTP_X_FORWARDED_FOR"])
$ip = $_SERVER["HTTP_X_FORWARDED_FOR"];
else if ($_SERVER["HTTP_CLIENT_IP"])
$ip = $_SERVER["HTTP_CLIENT_IP"] ;
else if ($_SERVER["REMOTE_ADDR"])
$ip = $_SERVER["REMOTE_ADDR"]
else if (getenv("HTTP_X_FORWARDED_FOR"))
$ip = getenv( " HTTP_X_FORWARDED_FOR");
else if (getenv("HTTP_CLIENT_IP"))
$ip = getenv("HTTP_CLIENT_IP")
else if (getenv("REMOTE_ADDR"))
$ip = getenv ("REMOTE_ADDR");
else
$ip = "Unknown";
return $ip;
?>

자세한 소스 참조: // /www.jb51.net/article/22199.htm


function DateAdd($date, $int, $unit = "d") { //증가 시간(시, 분, 초를 늘리고 시간이 있을 때 추가하도록 개선할 수도 있음)
$dateArr =Explode("-", $date)
$value[$unit] = $int;
반환 날짜("Y-m-d", mktime(0,0,0, $dateArr[1] + $value['m'], $dateArr[2] + $value['d'], $ dateArr[0] + $value ['y']));
}
function GetWeekDay($date) { //주어진 날짜의 요일 계산
$dateArr =explore(" -", $date);
반환 날짜("w", mktime(0,0,0,$dateArr[1],$dateArr[2],$dateArr[0]));
}
?>
자세한 출처 참고 : http://www.jb51.net/article/22199.htm

function check_date($date) { //여부 확인 날짜가 법적 날짜입니다
$dateArr =explore("-", $date)
if (is_numeric($dateArr[0]) && is_numeric($dateArr[1]) && is_numeric($dateArr[ 2])) {
return checkdate( $dateArr[1],$dateArr[2],$dateArr[0])
}
return false
}
function check_time( $time) { //시간이 적법한 시간인지 확인
$timeArr =Explode(":", $time)
if (is_numeric($timeArr[0]) && is_numeric($timeArr[1] ) && is_numeric($timeArr[2])) {
if (($timeArr[0] >= 0 && $timeArr[0] <= 23) && ($timeArr[1] >= 0 && $timeArr[1] <= 59) && ($ timeArr[2] >= 0 && $timeArr[2] <= 59))
return true;
else
return false; 🎜>}
return false
}
자세한 소스 참조: http://www.jb51.net/article/22199.htm


function DateDiff($date1, $date2, $unit = "") { //시간 비교 함수, 두 날짜 간의 차이를 초, 분, 시간 또는 일 단위로 반환합니다.
switch ($unit) {
case 's':
$dividend = 1;
case 'i':
$dividend = 60;
case 'h':
$dividend = 3600; break;
case 'd':
$dividend = 86400;
break;
기본값:
$dividend = 86400
$time1 = strtotime($date1 ); date2);
if ($time1 && $time2)
return (float)($time1 - $time2) / $dividend
return false;
자세한 출처 참고 : http://www.jb51.net/article/22199.htm


방법 1: header("위치: index.php") ;
방법 2: echo "window.location ="$PHP_SELF";"
방법 3: echo "";
?>
자세한 소스 참조: http://www.jb51.net/article/22199.htm

PHP 리디렉션
다음과 같이 코드를 복사하세요:
방법 1: header("Location: index.php")
방법 2: echo "window.location ="$PHP_SELF" ;< ;/scrīpt>";
방법 3: echo "";
?>

방문자 브라우저 가져오기
코드는 다음과 같습니다.
function browser_infor()
{
$browser="";$browserver=""; $Browsers = array("Lynx","MOSAIC","AOL","Opera","JAVA","MacWeb","WebExplorer","OmniWeb")
$Agent = $GLOBALS["HTTP_USER_AGENT" ];
($i=0; $i<=7; $i++)
{
if (strpos($Agent,$Browsers[$i])) 

$browser = $Browsers[$i]; 
$browserver =""; 


if (ereg("Mozilla",$Agent) && !ereg("MSIE",$Agent)) 

$temp =explode("(", $Agent); $Part=$temp[0]; 
$temp =explode("/", $Part);
$temp =explode(" ",$ browserver); $browserver=$temp[0]; 
$browserver =preg_replace("/([d.]+)/","1",$browserver);
$browserver" ; 
$browser = "Netscape Navigator"; 

if (ereg("Mozilla",$Agent) && ereg("Opera",$Agent))

$temp =explode("(", $Agent); $Part=$temp[1]; 
$temp =explode(")", $Part);
$temp =explode(" ",$browserver);$browserver=$temp[2]; 
$browserver =preg_replace("/([d.]+)/","1",$browserver);
$browserver = " $browserver"; 
$browser = "Opera"; 

if (ereg("Mozilla",$Agent) && ereg("MSIE",$Agent))

$temp = 폭발("(", $Agent); $Part=$temp[1]; 
$temp = 폭발(";",$Part); $Part=$temp[1] ; 
$temp = 폭발(" ",$Part);$browserver=$temp[2]; 
$browserver =preg_replace("/([d.]+)/","1",$ browserver); 
$browserver = " $browserver";
$browser = "Internet Explorer"; 

if ($browser!="") 

$browseinfo = "$browser$browserver"; 

else 

$browseinfo = "알 수 없음"; 

$browseinfo를 반환합니다. 

//调사용방법$browser=browseinfo() ;直接返回结果 
?> 
详细出处参考:http://www.jb51.net/article/22199.htm 

获取访问者操work系统 
复system代码 代码如下: 
함수 osinfo() { 
$os=""; 
$Agent = $GLOBALS["HTTP_USER_AGENT"]; 
if (eregi('win',$Agent) && strpos($Agent, '95')) { 
$os="Windows 95"; 

elseif (eregi('win 9x',$Agent) && strpos($Agent, '4.90')) { 
$os="Windows ME"; 

elseif (eregi('win',$Agent) && ereg('98',$Agent)) { 
$os="Windows 98"; 

elseif (eregi('win',$Agent) && eregi('nt 5.0',$Agent)) { 
$os="Windows 2000"; 

elseif (eregi('win',$Agent) && eregi('nt',$Agent)) { 
$os="Windows NT"; 

elseif (eregi('win',$Agent) && eregi('nt 5.1',$Agent)) { 
$os="Windows XP"; 

elseif (eregi('win',$Agent) && ereg('32',$Agent)) { 
$os="Windows 32"; 

elseif (eregi('linux',$Agent)) { 
$os="Linux"; 

elseif (eregi('unix',$Agent)) { 
$os="Unix"; 

elseif (eregi('sun',$Agent) && eregi('os',$Agent)) { 
$os="SunOS"; 

elseif (eregi('ibm',$Agent) && eregi('os',$Agent)) { 
$os="IBM OS/2"; 

elseif (eregi('Mac',$Agent) && eregi('PC',$Agent)) { 
$os="Macintosh"; 

elseif (eregi('PowerPC',$Agent)) { 
$os="PowerPC"; 

elseif (eregi('AIX',$Agent)) { 
$os="AIX"; 

elseif (eregi('HPUX',$Agent)) { 
$os="HPUX"; 

elseif (eregi('NetBSD',$Agent)) { 
$os="NetBSD"; 

elseif (eregi('BSD',$Agent)) { 
$os="BSD"; 

elseif (ereg('OSF1',$Agent)) { 
$os="OSF1"; 

elseif (ereg('IRIX',$Agent)) { 
$os="IRIX"; 

elseif (eregi('FreeBSD',$Agent)) { 
$os="FreeBSD"; 

if ($os=='') $os = "알 수 없음"; 
$os를 반환합니다. 

//调사용방법$os=os_infor() ; 
?> 

详细出处参考:http://www.jb51.net/article/22199.htm 

文件格式类 
复system代码 代码如下: 
$mime_types = 배열( 
'gif' => '이미지/gif', 
'jpg' => '이미지/jpeg', 
'jpeg' => '이미지/jpeg', 
'jpe' => '이미지/jpeg', 
'bmp' => '이미지/bmp', 
'png' => '이미지/png', 
'tif' => '이미지/tiff', 
'tiff' => '이미지/tiff', 
'pict' => 'image/x-pict', 
'pic' => '이미지/x-pict', 
'pct' => 'image/x-pict', 
'tif' => '이미지/tiff', 
'tiff' => '이미지/티파니', 
'psd' => 'image/x-photoshop', 
'swf' => 'application/x-shockwave-flash', 
'js' => 'application/x-javascrīpt', 
'pdf' => '응용프로그램/pdf', 
'ps' => '애플리케이션/포스트스크립트', 
'eps' => '애플리케이션/포스트스크립트', 
'ai' => '애플리케이션/포스트스크립트', 
'wmf' => 'application/x-msmetafile', 
'css' => '텍스트/css', 
'htm' => '텍스트/html', 
'html' => 'text/html', 
'txt' => '텍스트/일반', 
'xml' => 'text/xml', 
'wml' => 'text/wml', 
'wbmp' => 'image/vnd.wap.wbmp', 
'mid' => '오디오/미디', 
'wav' => '오디오/wav', 
'mp3' => '오디오/mpeg', 
'mp2' => '오디오/mpeg', 
'avi' => 'video/x-msvideo', 
'mpeg' => '동영상/mpeg', 
'mpg' => '동영상/mpeg', 
'qt' => '동영상/퀵타임', 
'mov' => '동영상/퀵타임', 
'lha' => 'application/x-lha', 
'lzh' => 'application/x-lha', 
'z' => 'application/x-compress', 
'gtar' => 'application/x-gtar', 
'gz' => 'application/x-gzip', 
'gzip' => 'application/x-gzip', 
'tgz' => 'application/x-gzip', 
'tar' => 'application/x-tar', 
'bz2' => 'application/bzip2', 
'zip' => 'application/zip', 
'arj' => 'application/x-arj', 
'rar' => 'application/x-rar-compressed', 
'hqx' => 'application/mac-binhex40', 
'앉아' => 'application/x-stuffit', 
'bin' => 'application/x-macbinary', 
'uu' => 'text/x-uuencode', 
'uue' => 'text/x-uuencode', 
'latex'=> 'application/x-latex', 
'ltx' => 'application/x-latex', 
'tcl' => 'application/x-tcl', 
'pgp' => 'application/pgp', 
'asc' => '응용 프로그램/pgp', 
'exe' => 'application/x-msdownload', 
'doc' => 'application/msword', 
'rtf' => 'application/rtf', 
'xls' => 'application/vnd.ms-excel', 
'ppt' => 'application/vnd.ms-powerpoint', 
'mdb' => 'application/x-msaccess', 
'wri' => 'application/x-mswrite', 
); 
?> 

详细出处参考:http://www.jb51.net/article/22199.htm 

php生成excel文档 
复system代码 代码如下: 
header("콘텐츠 유형:application/vnd.ms-excel"); 
header("콘텐츠 처리:파일 이름=test.xls"); 
echo "test1t"; 
echo "test2tn"; 
echo "test1t"; 
echo "test2tn"; 
echo "test1t"; 
echo "test2tn"; 
echo "test1t"; 
echo "test2tn"; 
echo "test1t"; 
echo "test2tn"; 
echo "test1t"; 
echo "test2tn"; 
//改动상应文件头就可以输출.doc .xls等文件格式了 
?> 

자세한 출처 참조: http://www.jb51.net/article/22199.htm

시간 비교 문제
간단한 예를 들어보세요. 예를 들어 포럼에서는 게시된 게시물을 표시하기 위해 새 이미지를 사용합니다. 하루.
방법 1:
다음과 같이 코드를 복사합니다.
//$db->rows[$i][date]는 데이터베이스의 날짜/시간 필드 값입니다. >$ today=time();
$theDay=date("Y-m-d H:i:s",$today-24*3600)
$newTag=$db->rows[$i][ 날짜] >=$theDay?"":""
//방법 2:
$newTag=$db-> 행[ $i][날짜]>=날짜("연말 00:00:00")?"":""
? >

다음과 같이 코드를 복사합니다.
//페이지와 브라우저에서 제출한 변수를 추출합니다. 이는 PHP.INI에서 전역 변수를 여는 것과 같습니다.

@extract ($_SERVER , EXTR_SKIP);
@extract($_POST, EXTR_SKIP)
@extract($ _GET, EXTR_SKIP );
@extract($_ENV, EXTR_SKIP);

다음과 같이 코드를 복사하세요.
//파일 읽기 기능

function readfromfile($file_name) {
if (file_exists($file_name)) {
$filenum=fopen($file_name,"r")
flock($filenum,LOCK_EX); >$file_data =fread($filenum, filesize($file_name));
rewind($filenum)
fclose($filenum)
return $file_data; 🎜>?

다음과 같이 코드를 복사하세요.
//Write file function
<
function writetofile($file_name,$data,$method="w") {
$filenum=fopen($file_name,$method);
flock($filenum,LOCK_EX)
$file_data=fwrite($filenum,$data); ;
return $file_data;
?>

다음과 같이 코드를 복사하세요.
//빠른 페이지 넘기기
print "nn페이지가 리디렉션 중입니다. ...</ title>n"; <br>print "<meta http-equiv="refresh" content="$second;url=$url">n"; <br>print "<style type="text/css ">n<!--n"; <br/>print "td {font-family: "Verdana", "Arial";font-size: 12px}n"; <br/>print " A {COLOR: #000000 ; TEXT-DECORATION: 없음}n"; <br/>print "-->n</style>n"; <br>print "</head>n<body>n"; <br>인쇄 "< ;table width="100%" border="0" align="center">n" <br>인쇄 " <tr>n" <br>인쇄 " <td 높이 ="200"> </td>n"; <br>인쇄 " </tr>n"; <br>인쇄 " <tr>n"; <br>인쇄 " <td align=" center">n" <br>인쇄 " <table width="60%" border="0" cellpadding="8" bgcolor="#AA9FFF">n" <br>인쇄 " <tr> ;n"; <br/>print " <td height="30" align="center">페이지 리디렉션 프롬프트 정보</td>n"; <br>print " </tr>n"; <br>print " < tr>n"; <br>print " <td align="center">$info</td>n" <br>print " </tr>n"; print " <tr> ;n"; <br>print " <td align="center">n" <br>print " <a href="$url">브라우저가 자동을 지원하지 않는 경우 뛰어내리세요. 여기를 클릭하세요</a></td>n"; <br>print " </tr>n"; <br>print " </tr>n"; <br>print " < /table> ;</td>n"; <br>print " </tr>n"; <br>print " <tr>n"; <br>print " <td height="200"> ; < ;/td>n"; <br>인쇄 " </tr>n"; <br>인쇄 "</table>n"; <br>인쇄 "</body>n</html> "; <br>exit; <br>?> <br><br>임의의 문자열 함수 생성 <br>다음과 같이 코드를 복사하세요. <br><? <br/>function random($length) { <br/>$ 해시 = @#@#;$chars = @#ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz@#; <br/>$max = strlen($chars) - 1; <br/>mt_srand((double)microtime() * 1000000) <br/>for($i = 0; i < ; $length; $i++) { <br/>$hash .= $chars[mt_rand(0, $max)] <br/>} <br/>return $hash; <br/>?> ><br>특정 길이의 문자열 자르기(이 함수는 GB2312에 유효함) <br>다음과 같이 코드를 복사하세요: <br><? <br/>function Wordscut($string, $length,$sss=0 ) { <br/>if(strlen($string) > $length) { <br>if($sss){ <br>$length=$length - 3; # ; <br>} <br>for($i = 0; $i < $length; $i++) { <br/>if(ord($string[$i]) > 127) { <br>$ Wordscut .= $string[$i].$string[$i + 1]; <br>$i++ <br>} else { <br>$wordscut .= $string[$i] <br>} 🎜 >} <br>return $wordscut.$addstr; <br>} <br>return $string; <br>} <br>?> <br><br>클라이언트 IP 주소 가져오기 <br>코드 <br><? <br/>function GetIP(){ <br/>if (getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP"), "unknown")) <br/>$ip = getenv("HTTP_CLIENT_IP" "); <br/>else if (getenv("HTTP_X_FORWARDED_FOR") && strcasecmp(getenv("HTTP_X_FORWARDED_FOR"), "unknown")) <br/>$ip = getenv("HTTP_X_FORWARDED_FOR"); <br/>else if (getenv ("REMOTE_ADDR") && strcasecmp(getenv("REMOTE_ADDR"), "unknown")) <br/>$ip = getenv("REMOTE_ADDR") <br/>else if (isset($_SERVER[@ #REMOTE_ADDR@#] ) && $_SERVER[@#REMOTE_ADDR@#] && strcasecmp($_SERVER[@#REMOTE_ADDR@#], "알 수 없음")) <br/>$ip = $_SERVER[@#REMOTE_ADDR@#]; <br/>else <br/>$ip = "unknown"; <br/>return($ip); <br/>} <br/>?> <br><br>코드는 다음과 같습니다. 다음: <br><? <br/>function checkEmail($inAddress) <br/>{ <br/>return (ereg("^([a-zA-Z0-9_-])+@([a-zA- Z0-9_-])+(. [a-zA-Z0-9_-])+",$inAddress)); <br/>} <br/>?> <br><br>페이징(두 개와 함께 사용됨) 함수) <br><br>코드는 다음과 같습니다. <br><? <br/>function getpage($sql,$page_size=20) <br/>{ <br/>global $page,$totalpage,$sums; /out param <br/>$page = $ _GET["page"] <br/>//$eachpage = $page_size; <br/>$pagesql = strstr($sql," from "); "ID로 개수(*) 선택". $pagesql; <br/>$result = mysql_query($pagesql) <br/>if($rs = mysql_fetch_array($result)) $sums = $rs[0]; >$totalpage = ceil($sums/$ page_size); <br/>if((!$page)($page<1)) $page=1 <br/>$startpos = ($page-1)*$page_size; ; <br/>$sql .=" $startpos,$page_size "; <br/>return $sql>} <br/>function showbar($string="") <br/>{ <br/>global $page ,$totalpage; <br/>$out= "전체<font ".$totalpage."color=@#red@#><b>".$totalpage."</b></font>페이지 "; <br>$linkNum =4 ; <br>$start = ($page-round($linkNum/2))>0 ? ($page-round($linkNum/2)) : "1"; <br>$end = ($page+ round($linkNum/2))<$totalpage ? ($page+round($linkNum/2)) : $totalpage <br/>$prestart=$start-1; >$nextend=$end+1 ; <br/>if($page<>1) <br>$out .= "<a href=@#?page=1&&".$string."@#title= 첫 페이지>첫 페이지</a> "; <br>if($start>1) <br>$out.="<a href=@#?page=".$prestart."@# title= 이전 페이지> ..<<</a> "; <br/>for($t=$start;$t<=$end;$t++) <br/>{ <br/>$out .= ($ 페이지== $t) ? "<font [".$t."]color=@#red@#><b>[".$t."]</b></font> " : " <a $thref=@#?page=$t&&".$string."@#>$t</a> "; <br>} <br>if($end<$totalpage) <br/>$ out.="<a href=@#?page=".$nextend."&&".$string."@# title=다음 페이지>>>..</a>"; <br>if($page<>$totalpage) <br>$out .= " <a href=@#?page=".$totalpage."&&".$string."@# title=마지막 페이지> ;마지막 페이지</a>"; <br>return $out; <br>} <br>?> <br><br>새로 삽입된 데이터의 ID를 가져옵니다. <br>다음과 같이 코드를 복사합니다. <br> <? <br/>mysql_insert_id(); <br/>?> <br>코드는 다음과 같습니다. <br>//현재 스크립트 URL 가져오기 <br><?function get_php_url(){ <br/>if(!empty($_server["REQUEST_URI"])){ <br/>$scriptName = $_SERVER["REQUEST_URI"] <br/>$nowurl = $scriptName; else{ <br/>$scriptName = $_SERVER["PHP_SELF"]; <br/>if(empty($_SERVER["QUERY_STRING"])) $nowurl = $scriptName; <br/>else $nowurl = $scriptName." ".$_SERVER["QUERY_STRING"]; <br/>} <br/>return $nowurl; <br/>} <br/>?> <br><br>코드는 다음과 같습니다. <br>//전체 변환 -너비 숫자를 반너비 숫자로 <br><? <br/>function GetAlabNum($fnum){ <br/>$nums = array("0","1","2","3","4 ","5", "6","7","8","9"); <br/>$fnums = "0123456789"; <br/>for($i=0;$i<=9;$ i++) $fnum = str_replace ($nums[$i],$fnums[$i],$fnum) <br/>$fnum = ereg_replace("[^0-9.]|^0{1,}", "",$fnum) ; <br/>if($fnum=="") $fnum=0; <br/>return $fnum;} <br/>?> <br>//HTML 태그 제거 <br><? <br/>function Text2Html($txt){ <br/>$txt = str_replace(" "," ",$txt) <br/>$txt = str_replace( "<","<" ,$txt) <br/>$txt = str_replace(">",">",$txt) <br>$txt = preg_replace("/[rn]{ 1,}/isU"," <br>rn",$txt); <br>return $txt; <br>} <br>?> <br><br>코드는 다음과 같습니다. <br> //상대 경로를 절대 경로로 변환 <br>< ;? <br>function 상대_to_absolute($content, $feed_url) { <br>preg_match('/(http|https|ftp):///', $feed_url, $protocol); <br>$server_url = preg_replace( "/(http|https|ftp|news):///", "", $feed_url) <br>$server_url = preg_replace("//.*/ ", "", $server_url); <br> if ($server_url == '') { <br>return $content; <br>} <br>if (isset($protocol[0])) { <br>$new_content = preg_replace('/href="/ /', 'href="'.$protocol[0].$server_url.'/', $content) <br>$new_content = preg_replace('/src= "//', 'src="'.$ 프로토콜[0].$server_url.'/', $new_content) <br>} else { <br>$new_content = <br>} <br> return $new_content; <br>? <br><br>다음과 같이 코드를 복사하세요. <br>//모든 링크 가져오기 <br><br>function get_all_url($code) <br>preg_match_all('/<as+href= ["|']?([^>"' ]+)["|']?s*[^>]*>([^> ]+)</a>/i',$ code,$arr) <br>return array('name'=>$arr[2],'url'=>$arr[1]); <br>} <br>?> <br> <br>다음과 같이 코드를 복사합니다. <br>//HTML 테이블의 각 행을 CSV 형식 배열로 변환합니다. <br>< <br/>function get_tr_array ($table) { <br/>$table = preg_replace("'< ;td[^>]*?>'si",'"',$table); <br>$table = str_replace("< /td>",'",',$table); <br>$table = str_replace("</tr>","{tr}",$table) <br>//HTML 태그 제거 <br>$table = preg_replace("'<[/!]*? [^<>]*?>'si","",$table) <br>//공백 문자 제거 <br>$ table = preg_replace("'([rn])[s]+' ","",$table) <br>$table = str_replace(" ","",$table) <br>$table = str_replace (" ","",$table); <br>$table =explore(",{tr}",$table) <br>array_pop($table) <br>return $table; <br>?> <br><br>다음과 같이 코드를 복사하세요. <br>//HTML 테이블의 각 행과 열을 배열로 변환하고 테이블 데이터를 수집합니다. <br>< <br/>function get_td_array ($table) { <br/>$table = preg_replace("'<table [^>]*?>'si","",$table) <br>$table = preg_replace("'< tr[^>]*?>'si","",$ table); <br>$table = preg_replace("'<td[^>]*?>'si","", $table); <br>$table = str_replace("</tr> ","{tr}",$table) <br>$table = str_replace("</td>","{td} ",$table); <br>//HTML 태그 제거 <br>$ table = preg_replace("'<[/!]*?[^<>]*?>'si","", $table);//공백 문자 제거 <br>$table = preg_replace("'([rn])[s]+'","",$table) <br>$table = str_replace(" ","",$table); <br>$table = str_replace(" ","",$table); <br>$table = explode('{tr}', $table); <br>array_pop($table); <br>foreach ($table as $key=>$tr) { <br>$td = explode('{td}', $tr); <br>array_pop($td); <br>$td_array[] = $td; <br>} <br>return $td_array; <br>} <br>?> <br><br>复制代码 代码如下: <br>//返回字符串中的所有单词 $distinct=true 去除重复 <br><? <br/>function split_en_str($str,$distinct=true) { <br/>preg_match_all('/([a-zA-Z]+)/',$str,$match); <br/>if ($distinct == true) { <br/>$match[1] = array_unique($match[1]); <br/>} <br/>sort($match[1]); <br/>return $match[1]; <br/>} <br/>?> <br><br>复制代码 代码如下: <br>//打印出为本PHP项目做出贡献的人员的清单 <br><? <br/>string phpcredits(void) <br/>?> <br><br><br>//获得当前的脚本网址 <br>function get_php_url(){ <br>        if(!empty($_SERVER["REQUEST_URI"])){ <br>                $scriptName = $_SERVER["REQUEST_URI"]; <br>                $nowurl = $scriptName; <br>        }else{ <br>                $scriptName = $_SERVER["PHP_SELF"]; <br>                if(empty($_SERVER["QUERY_STRING"])) $nowurl = $scriptName; <br>                else $nowurl = $scriptName."?".$_SERVER["QUERY_STRING"]; <br>        } <br>        return $nowurl; <br><br><br><br>} <br>//把全角数字转为半角数字 <br>function GetAlabNum($fnum){ <br>        $nums = array("0","1","2","3","4","5","6","7","8","9"); <br>        $fnums = "0123456789"; <br>        for($i=0;$i<=9;$i++) $fnum = str_replace($nums[$i],$fnums[$i],$fnum); <br/> $fnum = ereg_replace("[^0-9\.]|^0{1,}","",$fnum); <br/> if($fnum=="") $fnum=0; <br/> return $fnum; <br/>} <br/>//去除HTML标记 <br/>function Text2Html($txt){ <br/> $txt = str_replace(" "," ",$txt); <br/> $txt = str_replace("<","<",$txt); <br/> $txt = str_replace(">",">",$txt); <br>        $txt = preg_replace("/[\r\n]{1,}/isU","<br/>\r\n",$txt); <br>        return $txt; <br>} <br><br><br>//清除HTML标记 <br>function ClearHtml($str){ <br>        $str = str_replace('<','<',$str); <br/> $str = str_replace('>','>',$str); <br>        return $str; <br>} <br>//相对路径转化成绝对路径 <br>function relative_to_absolute($content, $feed_url) { <br>    preg_match('/(http|https|ftp):\/\//', $feed_url, $protocol); <br>    $server_url = preg_replace("/(http|https|ftp|news):\/\//", "", $feed_url); <br>    $server_url = preg_replace("/\/.*/", "", $server_url);  <br><br>    if ($server_url == '') { <br>        return $content; <br>    } <br><br><br><br>    if (isset($protocol[0])) { <br>        $new_content = preg_replace('/href="\//', 'href="'.$protocol[0].$server_url.'/', $content); <br>$new_content = preg_replace('/src="//', 'src="'.$protocol[0].$server_url.'/', $new_content) <br> } else { <br> $new_content = $ content; <br> } <br> $new_content 반환 <br>} <br>//모든 링크 가져오기 <br>function get_all_url($code){ <br> preg_match_all('/<as+href=[" |']?([^>"' ]+)["|']?s*[^>]*>([^>]+)</a>/i',$code, $arr) <br> return array('name'=>$arr[2],'url'=>$arr[1]) <br>} <br><br><br><br><br>//지정된 태그의 내용 가져오기 <br>function get_tag_data($str, $start, $end){ <br> If ( $start == '' || $end == '' ){ <br>             return <br>} <br>//HTML 테이블의 각 행을 CSV 형식 배열로 변환 <br>function get_tr_array($table) { <br> $table = preg_replace("'<td; [^>]*? >'si",'"',$table) <br> $table = str_replace("</td>",'",',$table); <br> $ table = str_replace("< /tr>","{tr}",$table); <br> //HTML 태그 제거 <br><br><br><br><br> $table = preg_replace( "'<[/! ]*?[^<>]*?>'si","",$table) <br> //공백 문자 제거 <br> ]+'","" ,$table); <br> $table = str_replace(" ","",$table) <br> $table = str_replace(" ","",$table); 폭발(",{tr}",$table); <br> array_pop($table); <br> return $table; <br><br>//HTML 변환 테이블을 배열로 변환하여 테이블 데이터 수집 <br>function get_td_array($table) { <br>               $table = preg_replace("'<table[^>]*?>'si"," ",$table) ; <br> $table = preg_replace("'<tr[^>]*?>'si","",$table) <br> $table = preg_replace("'< ;td[^> ;]*?>'si","",$table); <br> $table = str_replace("</tr>","{tr}",$table); <br>        $table = str_replace ("</td>","{td}",$table) <br>                                                                        ~                         [^<>]*?>'si","",$table); <br> //제거 공백 문자 <br> $table = preg_replace("'([rn])[s]+' ","",$table) <br><br><br><br><br>         $table = str_replace (" ","",$table);                                                                                   $table "",$table); <br> <br> $table =explore('{tr}', $table) <br> array_pop($table); <br> foreach ($table as $key=> $tr) { <br> $td =explore('{td}', $tr) <br>array_pop($td); <br>               $td_array[] = $td; true 중복 제거 <br>function Split_en_str($str,$distinct=true) { <br> preg_match_all('/([a-zA-Z] +)/',$str,$match); <br> if ( $distinct == true) { <br>                                                                                       ; <br>} <br><br><br><br><br><br> //파일 읽기 함수 <br> function PHP_Read($file_name) { <br> $fd=fopen($file_name ,r) <br> while($bufline=fgets($fd, 4096)){ <br> $ buf.=$bufline; <br> } <br> fclose($fd); <br> return $buf } <br> ?> ><br><br>파일 쓰기 함수 <br><br><br><br><br> //파일 쓰기 함수 <br> function PHP_Write($file_name,$data,$method="w") { <br> $filenum=@fopen($file_name,$method); <br> 무리( $filenum,LOCK_EX) <br> $file_data=fwrite($filenum,$data); <br> fclose($filenum) ; <br> return $file_data; <br> } <br> ?> <br> <br><br>정적 페이지 생성 기능 <br><br><br> // 정적 페이지 생성 기능 phptohtm($filefrom,$fileto,$u2u=1){ <br> if( $u2u==1){ <br> $data=PHP_Read($filefrom) <br> }else{ <br> $data= $filefrom <br> } <br> PHP_Write($fileto,$data); <br> return true <br> } <br> ?> <br><br>조건 정보 수량 검색 함수 지정 <br><br> <br><br><br> //조건 정보 수량 검색 함수 지정 <br> function rec_exist($table,$where){ <br> $query="$table에서 num으로 선택". $where <br> $result=mysql_query($query) 또는 die(nerror(1)) <br> $rowcount=mysql_fetch_array($result ); <br> $num=$rowcount["num"]; <br> if ($num==0){ <br> return false <br> } <br> return $num; 🎜> ?> <br><br><br><br> <br><br> 디렉토리 삭제 기능 <br><br><br> // 디렉토리 삭제 기능 <br> 기능 del_DIR($directory){ <br> $mydir=dir($directory); <br> while($file=$mydir->read()){ <br> if((is_dir("$directory/$file")) AND ($ file!=".") AND ($file!=". .")){ <br> del_DIR("$directory/$file") <br> }else{ <br> if(($file!= ".") AND ($file!="..") ){ <br> unlink("$directory/$file") <br> //echo "$directory/$file 연결 해제 ok "; } <br> } <br> } <br><br> <br> $mydir->close(); <br> rmdir($directory) <br> //echo "rmdir $directory ok "; 🎜> } <br>?> <br><br> <br><br> 디렉토리 이름 적법성 감지 기능 <br><br><br> // 디렉토리 이름 적법성 감지 <br> 기능 isen($str) { <br> $ret=""; <br> for($i=0;$i $p=ord(substr($str,$i,1)); <br> if(($p<48 & $p!=45 & $p!=46) || ($p>57 & $p<65) || ($p>90 & $p<97 & $p!=95) || ){ <br/> nerror("사양을 충족하지 않습니다! "); <br/> } <br/> $ret.=chr($p); <br/> } <br/> return $ret; <br/> } <br/> ?> <br><br><br> <br>페이징 기능 <br><br><br>   //分页函式 <br>   함수 분할 목록($HALT,$LRLIST,$ECHOCNT,$paper,$table,$where,$page_id,$userid){ <br>   global $splitstr,$sumcnt; <br>   if($paper=="" || $sumcnt==""){ <br>   $query = "$table $where에서 숫자로 count(*)를 선택합니다"; <br>   $result = mysql_query($query); <br>   $row = mysql_fetch_array($result); <br>   $sumcnt=$row["num"]; <br>   if($sumcnt==0){ <br>   nerror("该版内还没有选择发布新闻 !"); <br>    } <br>   $paper=1; <br>    } <br><br><br>   $sumpaper=($sumcnt-$sumcnt%$ECHOCNT)/$ECHOCNT; <br>   if(($sumcnt%$ECHOCNT)!=0) $sumpaper+=1; <br>   if($sumpaper==1 && $HALT==0) return($where); <br>   $enwhere=base64_encode(base64_encode($where)); <br>   if(($LRLIST*2+1) < $sumpaper){ <br/>   if(($paper-$LRLIST) < 2){ <br/>   $tract=1; <br/>   $sub=$LRLIST*2+1; <br/>    }else if(($paper+$LRLIST) >= $sumpaper){ <br>   $tract=$sumpaper-($LRLIST*2); <br>   $sub=$sumpaper; <br>    }else{ <br>   $tract=$paper-$LRLIST; <br>   $sub=$paper+$LRLIST; <br>    } <br>    }else{ <br>   $tract=1; <br>   $sub=$sumpaper; <br>    } <br>   $uppaper=$paper-1; <br>   $downpaper=$paper+1; <br>   $startcnt=($paper-1)*$ECHOCNT; <br>   $where.=" ${ startcnt },${ ECHOCNT }" 제한; <br><br><br><br>   if($tract > 1) { $splitstr="【 << "; } <br/>   else $splitstr="【 << "; <br/>   for($i=$tract;$i<=$sub;$i++){ <br/>   if ($i!=$paper) $splitstr.="".$i." "; <br/>   else $splitstr.="".$i." "; <br/>    } <br/>   if ($sub!=$sumpaper) $splitstr.=">> ]"; <br>   else $splitstr.=">> 】"; <br>   반환($where); <br>    } <br>   ?> <br><br><br><br>关于分页函式的使用说明  <br>      /* <br>   #### 检索分页函式 #### <br>   Int $HALT -果仅分1页时是否(1/0)显示页码条 <br>   Int $LRLIST - (页码条显示页码数-1)/2 <br>   Int $ECHOCNT - 检索时每页显示记录的数weight <br>   Int $ 종이 - 页数,预提取:$paper=$HTTP_GET_VARS[paper]; <br>   Varchar $table - 数据表name,预附值:$table="db.table"; <br>   Varchar $where - 检索条件,预附值:$where="where field='value'";    <br>   函式调사용前需获取变weight - <br>   $paper=$HTTP_GET_VARS[paper]; <br>   $sumcnt=$HTTP_GET_VARS[sumcnt]; <br>   $enwhere=$HTTP_GET_VARS[enwhere]; <br>   <br>   반환(Varchar $where) - 分页后检索语句的检索条件  <br>   注意:本函式需调用 Out错处函式 nerror($error)리; <br>   */ <br><br><br><br><br>图文文件上传函式 <br><br><br><br>//图文文件上传函式 <br> function upload_img($UploadFile,$UploadFile_name,$UploadFile_size,$UploadPath,$max_size=64){ <br>   <br>   //$TimeLimit=60; //设置超时限aze时间 缺省时间为 30秒 设置为0时为不限时 <br>   //set_time_limit($TimeLimit); <br>   if(($UploadFile!= "none" )&&($UploadFile != "" )){ <br>   $FileName=$UploadPath.$UploadFile_name; <br>   if($UploadFile_size <1024){ <br/>   $FileSize="(string)$UploadFile_size" . "문자"; <br/>    }elseif($UploadFile_size <(1024 * $max_size)){ <br/><br/><br/><br/>   $FileSize=number_format((double)($UploadFile_size / 1024), 1) . "KB"; <br/>    }else{ <br/>nerror("파일이 크기 제한을 초과했습니다!"); <br/> } <br/> //{ <br/> //$FileSize="number_format((double)($UploadFile_size" / (1024 * 1024)), 1) . " MB"; <br/> // } <br/> if(!file_exists($FileName)){ <br/> if(copy($UploadFile,$FileName)){ <br/> return "$UploadFile_name ($FileSize)" ; <br/> }else{ <br/> nerror("$UploadFile_name 파일 업로드 실패!") <br/> } <br/> unlink($UploadFile) <br/> }else{ <br/> nerror("$UploadFile_name 파일 이미 존재합니다!"); <br/> } <br/> //set_time_limit(30); //기본 시간 초과 설정 복원 <br/> } <br/> } <br/><br/><br/><br/><br/> IP 주소의 적법성을 확인하는 방법 <br/>if(!strcmp(long2ip(sprintf("%u",ip2long($ip))),$ip)) echo "is ipn"; - <br/><br/>이메일 규칙성 판단 <br/>에레기("^[_.0-9a-zA-Z-]+@([0-9a-zA-Z][0-9a-zA-Z_- ]+ .)+[a-zA-Z]$", $email); <br/><br/><br/><br/>IP 주소와 마스크가 합법적인지 확인하는 예 <br/><br/><br/><br/> <br/><br/>$ip = '192.168.0.84'; <br/>$mask = '255.255.255.0'; <br/>$network = '192.168.0'; ($ip) ; <br/>$mask = ip2long($mask); <br/>$network = ip2long($network) <br/><br/>if( ($ip & $mask) == $network) echo "유효한 IP 및 마스크"; <br/><br/><br/><br/>--- <br/><br/><br/><br/>파일 다운로드 헤더 출력 설정 방법 <br/><br/><br/><br/><br/><br/>header("콘텐츠 유형: 애플리케이션/x-다운로드") <br/>header("콘텐츠 처리: 첨부 파일; 파일 이름=$file_download_name;" ); <br/>header("허용 범위: 바이트"); <br/>header("콘텐츠 길이: $download_size") <br/>echo 'xxx' <br/><br/><br/> 헤더를 사용하여 ftp 다운로드 방법을 출력하고 중단점 재개를 지원합니다. <br/>예: <br/><br/><br/><br/><br/>header('Pragma: public') <br/>header('Cache- 제어: 비공개 '); <br/>header('캐시-제어: 캐시 없음, 재검증 필요') <br/>header('Accept-Ranges: bytes') <br/>header('연결: 닫기' ); <br/>header("Content-Type: audio/mpeg"); <br/>header("위치:ftp://download:1bk3l4s3k9s2@232.2.22.22/2222/web 기술 개발 지식 베이스/cn_web.rmvb" ); <br/><br/><br/><br/><br/><br/><br/><br/>정규 경기 중국어 <br/>ereg("^[".chr(0xa1)."-".chr( 0xff). "]+$", $str) <br/><br/>텍스트의 하이퍼링크 일괄 바꾸기 <br/><br/><br/><br/><br/><br/><?php <br/>함수 urlParse ($str = ''){ <br/> if ('' == $str) return $str; <br/>$types = array("http", "ftp", "https"); 🎜 >$replace = <<<EOPHP <br/> '<a href="'.htmlentities('1').htmlentities('2').'">'.htmlentities('1') .htmlentities('2').'</a>' <br><br><br><br><br>$ret <br><br> ( ,$type) = 각각($types)){ <br> $ret = preg_replace("|($type://)([^s]*)|ie ", $replace, $ret) <br> } <br><br><br><br>$ret 반환 <br>} <br>?><br></p></div><div class="nphpQianMsg"><div class="clear"></div></div><div class="nphpQianSheng"><span>성명:</span><div>본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.</div></div></div><div class="nphpSytBox"><span>이전 기사:<a class="dBlack" title="PHP 코드 스타일" href="http://m.php.cn/ko/faq/340443.html">PHP 코드 스타일</a></span><span>다음 기사:<a class="dBlack" title="PHP 코드 스타일" href="http://m.php.cn/ko/faq/340447.html">PHP 코드 스타일</a></span></div><div class="nphpSytBox2"><div class="nphpZbktTitle"><h2>관련 기사</h2><em><a href="http://m.php.cn/ko/article.html" class="bBlack"><i>더보기</i><b></b></a></em><div class="clear"></div></div><ins class="adsbygoogle" style="display:block" data-ad-format="fluid" data-ad-layout-key="-6t+ed+2i-1n-4w" data-ad-client="ca-pub-5902227090019525" data-ad-slot="8966999616"></ins><script> (adsbygoogle = window.adsbygoogle || []).push({}); </script><ul class="nphpXgwzList"><li><b></b><a href="http://m.php.cn/ko/faq/1.html" title="cURL을 사용하여 PHP에서 Get 및 Post 요청을 구현하는 방법" class="aBlack">cURL을 사용하여 PHP에서 Get 및 Post 요청을 구현하는 방법</a><div class="clear"></div></li><li><b></b><a href="http://m.php.cn/ko/faq/1.html" title="cURL을 사용하여 PHP에서 Get 및 Post 요청을 구현하는 방법" class="aBlack">cURL을 사용하여 PHP에서 Get 및 Post 요청을 구현하는 방법</a><div class="clear"></div></li><li><b></b><a href="http://m.php.cn/ko/faq/1.html" title="cURL을 사용하여 PHP에서 Get 및 Post 요청을 구현하는 방법" class="aBlack">cURL을 사용하여 PHP에서 Get 및 Post 요청을 구현하는 방법</a><div class="clear"></div></li><li><b></b><a href="http://m.php.cn/ko/faq/1.html" title="cURL을 사용하여 PHP에서 Get 및 Post 요청을 구현하는 방법" class="aBlack">cURL을 사용하여 PHP에서 Get 및 Post 요청을 구현하는 방법</a><div class="clear"></div></li><li><b></b><a href="http://m.php.cn/ko/faq/2.html" title="정규식의 모든 표현식 기호(요약)" class="aBlack">정규식의 모든 표현식 기호(요약)</a><div class="clear"></div></li></ul></div></div><ins class="adsbygoogle" style="display:block" data-ad-format="autorelaxed" data-ad-client="ca-pub-5902227090019525" data-ad-slot="5027754603"></ins><script> (adsbygoogle = window.adsbygoogle || []).push({}); </script><div class="nphpFoot"><div class="nphpFootBg"><ul class="nphpFootMenu"><li><a href="http://m.php.cn/ko/"><b class="icon1"></b><p>집</p></a></li><li><a href="http://m.php.cn/ko/course.html"><b class="icon2"></b><p>강의</p></a></li><li><a href="http://m.php.cn/ko/wenda.html"><b class="icon4"></b><p>Q&A</p></a></li><li><a href="http://m.php.cn/ko/login"><b class="icon5"></b><p>나의</p></a></li><div class="clear"></div></ul></div></div><div class="nphpYouBox" style="display: none;"><div class="nphpYouBg"><div class="nphpYouTitle"><span onclick="$('.nphpYouBox').hide()"></span><a href="http://m.php.cn/ko/"></a><div class="clear"></div></div><ul class="nphpYouList"><li><a href="http://m.php.cn/ko/"><b class="icon1"></b><span>집</span><div class="clear"></div></a></li><li><a href="http://m.php.cn/ko/course.html"><b class="icon2"></b><span>강의</span><div class="clear"></div></a></li><li><a href="http://m.php.cn/ko/article.html"><b class="icon3"></b><span>기사</span><div class="clear"></div></a></li><li><a href="http://m.php.cn/ko/wenda.html"><b class="icon4"></b><span>Q&A</span><div class="clear"></div></a></li><li><a href="http://m.php.cn/ko/dic.html"><b class="icon6"></b><span>사전</span><div class="clear"></div></a></li><li><a href="http://m.php.cn/ko/course/type/99.html"><b class="icon7"></b><span>수동</span><div class="clear"></div></a></li><li><a href="http://m.php.cn/ko/xiazai/"><b class="icon8"></b><span>다운로드</span><div class="clear"></div></a></li><li><a href="http://m.php.cn/ko/faq/zt" title="주제"><b class="icon12"></b><span>주제</span><div class="clear"></div></a></li><div class="clear"></div></ul></div></div><div class="nphpDing" style="display: none;"><div class="nphpDinglogo"><a href="http://m.php.cn/ko/"></a></div><div class="nphpNavIn1"><div class="swiper-container nphpNavSwiper1"><div class="swiper-wrapper"><div class="swiper-slide"><a href="http://m.php.cn/ko/" >집</a></div><div class="swiper-slide"><a href="http://m.php.cn/ko/article.html" class="hover">기사</a></div><div class="swiper-slide"><a href="http://m.php.cn/ko/wenda.html" >Q&A</a></div><div class="swiper-slide"><a href="http://m.php.cn/ko/course.html" >강의</a></div><div class="swiper-slide"><a href="http://m.php.cn/ko/faq/zt" >주제</a></div><div class="swiper-slide"><a href="http://m.php.cn/ko/xiazai" >다운로드</a></div><div class="swiper-slide"><a href="http://m.php.cn/ko/game" >게임</a></div><div class="swiper-slide"><a href="http://m.php.cn/ko/dic.html" >사전</a></div><div class="clear"></div></div></div><div class="langadivs" ><a href="javascript:;" class="bg4 bglanguage"></a><div class="langadiv" ><a onclick="javascript:setlang('zh-cn');" class="language course-right-orders chooselan " href="javascript:;"><span>简体中文</span><span>(ZH-CN)</span></a><a onclick="javascript:setlang('en');" class="language course-right-orders chooselan " href="javascript:;"><span>English</span><span>(EN)</span></a><a onclick="javascript:setlang('zh-tw');" class="language course-right-orders chooselan " href="javascript:;"><span>繁体中文</span><span>(ZH-TW)</span></a><a onclick="javascript:setlang('ja');" class="language course-right-orders chooselan " href="javascript:;"><span>日本語</span><span>(JA)</span></a><a onclick="javascript:;" class="language course-right-orders chooselan chooselanguage" href="javascript:;"><span>한국어</span><span>(KO)</span></a><a onclick="javascript:setlang('ms');" class="language course-right-orders chooselan " href="javascript:;"><span>Melayu</span><span>(MS)</span></a><a onclick="javascript:setlang('fr');" class="language course-right-orders chooselan " href="javascript:;"><span>Français</span><span>(FR)</span></a><a onclick="javascript:setlang('de');" class="language course-right-orders chooselan " href="javascript:;"><span>Deutsch</span><span>(DE)</span></a></div></div><script> var swiper = new Swiper('.nphpNavSwiper1', { slidesPerView : 'auto', observer: true,//修改swiper自己或子元素时,自动初始化swiper observeParents: true,//修改swiper的父元素时,自动初始化swiper }); </script></div></div><!--顶部导航 end--><script>isLogin = 0;</script><script type="text/javascript" src="/static/layui/layui.js"></script><script type="text/javascript" src="/static/js/global.js?4.9.47"></script></div><script src="https://vdse.bdstatic.com//search-video.v1.min.js"></script><link rel='stylesheet' id='_main-css' href='/static/css/viewer.min.css' type='text/css' media='all'/><script type='text/javascript' src='/static/js/viewer.min.js?1'></script><script type='text/javascript' src='/static/js/jquery-viewer.min.js'></script><script>jQuery.fn.wait = function (func, times, interval) { var _times = times || -1, //100次 _interval = interval || 20, //20毫秒每次 _self = this, _selector = this.selector, //选择器 _iIntervalID; //定时器id if( this.length ){ //如果已经获取到了,就直接执行函数 func && func.call(this); } else { _iIntervalID = setInterval(function() { if(!_times) { //是0就退出 clearInterval(_iIntervalID); } _times <= 0 || _times--; //如果是正数就 -- _self = $(_selector); //再次选择 if( _self.length ) { //判断是否取到 func && func.call(_self); clearInterval(_iIntervalID); } }, _interval); } return this; } $("table.syntaxhighlighter").wait(function() { $('table.syntaxhighlighter').append("<p class='cnblogs_code_footer'><span class='cnblogs_code_footer_icon'></span></p>"); }); $(document).on("click", ".cnblogs_code_footer",function(){ $(this).parents('table.syntaxhighlighter').css('display','inline-table');$(this).hide(); }); $('.nphpQianCont').viewer({navbar:true,title:false,toolbar:false,movable:false,viewed:function(){$('img').click(function(){$('.viewer-close').trigger('click');});}}); </script></body></html>