찾다
백엔드 개발PHP 튜토리얼일반적인 PHP 함수 모음

최근 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] = 0 && $timeArr[1] = 0 && $timeArr[2] 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";īpt>"
방법 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{
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?"일반적인 PHP 함수 모음":""
//방법 2:
$newTag=$db-> 행[ $i][날짜]>=날짜("연말 00:00:00")?"일반적인 PHP 함수 모음":""
? >

다음과 같이 코드를 복사합니다.
//페이지와 브라우저에서 제출한 변수를 추출합니다. 이는 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;
?>

다음과 같이 코드를 복사하세요.
//빠른 페이지 넘기기
$url=" index.php",$info = "페이지가 리디렉션 중입니다...",$second=2){
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 "nn";
인쇄 "< ;table width="100%" border="0" align="center">n"
인쇄 " n"
인쇄 " n";
인쇄 " n";
인쇄 " n";
인쇄 " n"
인쇄 "

n"
인쇄 " print " n";
print " n";
print " n";
print " n"
print " n"; print " print " n";
print " n";
print " n";
print " n";
print " n";
print " n";
print " n";
인쇄 "
페이지 리디렉션 프롬프트 정보$info
n"
print " 브라우저가 자동을 지원하지 않는 경우 뛰어내리세요. 여기를 클릭하세요
n";
인쇄 "
n";
인쇄 "n ";
exit;
?>

임의의 문자열 함수 생성
다음과 같이 코드를 복사하세요.

function random($length) {
$ 해시 = @#@#;$chars = @#ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz@#;
$max = strlen($chars) - 1;
mt_srand((double)microtime() * 1000000)
for($i = 0; i < ; $length; $i++) {
$hash .= $chars[mt_rand(0, $max)]
}
return $hash;
?> >
특정 길이의 문자열 자르기(이 함수는 GB2312에 유효함)
다음과 같이 코드를 복사하세요:

function Wordscut($string, $length,$sss=0 ) {
if(strlen($string) > $length) {
if($sss){
$length=$length - 3; # ;
}
for($i = 0; $i if(ord($string[$i]) > 127) {
$ Wordscut .= $string[$i].$string[$i + 1];
$i++
} else {
$wordscut .= $string[$i]
} 🎜 >}
return $wordscut.$addstr;
}
return $string;
}
?>

클라이언트 IP 주소 가져오기
코드

function GetIP(){
if (getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP"), "unknown"))
$ip = getenv("HTTP_CLIENT_IP" ");
else if (getenv("HTTP_X_FORWARDED_FOR") && strcasecmp(getenv("HTTP_X_FORWARDED_FOR"), "unknown"))
$ip = getenv("HTTP_X_FORWARDED_FOR");
else if (getenv ("REMOTE_ADDR") && strcasecmp(getenv("REMOTE_ADDR"), "unknown"))
$ip = getenv("REMOTE_ADDR")
else if (isset($_SERVER[@ #REMOTE_ADDR@#] ) && $_SERVER[@#REMOTE_ADDR@#] && strcasecmp($_SERVER[@#REMOTE_ADDR@#], "알 수 없음"))
$ip = $_SERVER[@#REMOTE_ADDR@#];
else
$ip = "unknown";
return($ip);
}
?>

코드는 다음과 같습니다. 다음:

function checkEmail($inAddress)
{
return (ereg("^([a-zA-Z0-9_-])+@([a-zA- Z0-9_-])+(. [a-zA-Z0-9_-])+",$inAddress));
}
?>

페이징(두 개와 함께 사용됨) 함수)

코드는 다음과 같습니다.

function getpage($sql,$page_size=20)
{
global $page,$totalpage,$sums; /out param
$page = $ _GET["page"]
//$eachpage = $page_size;
$pagesql = strstr($sql," from "); "ID로 개수(*) 선택". $pagesql;
$result = mysql_query($pagesql)
if($rs = mysql_fetch_array($result)) $sums = $rs[0]; >$totalpage = ceil($sums/$ page_size);
if((!$page)($page$startpos = ($page-1)*$page_size; ;
$sql .=" $startpos,$page_size ";
return $sql>}
function showbar($string="")
{
global $page ,$totalpage;
$out= "전체".$totalpage."페이지 ";
$linkNum =4 ;
$start = ($page-round($linkNum/2))>0 ? ($page-round($linkNum/2)) : "1";
$end = ($page+ round($linkNum/2))$prestart=$start-1; >$nextend=$end+1 ;
if($page1)
$out .= "첫 페이지 ";
if($start>1)
$out.=" .. ";
for($t=$start;$t{
$out .= ($ 페이지== $t) ? "[".$t."] " : "
$t ";
}
if($end$ out.=">>..";
if($page$totalpage)
$out .= " ";
return $out;
}
?>

새로 삽입된 데이터의 ID를 가져옵니다.
다음과 같이 코드를 복사합니다.

mysql_insert_id();
?>
코드는 다음과 같습니다.
//현재 스크립트 URL 가져오기
if(!empty($_server["REQUEST_URI"])){
$scriptName = $_SERVER["REQUEST_URI"]
$nowurl = $scriptName; else{
$scriptName = $_SERVER["PHP_SELF"];
if(empty($_SERVER["QUERY_STRING"])) $nowurl = $scriptName;
else $nowurl = $scriptName." ".$_SERVER["QUERY_STRING"];
}
return $nowurl;
}
?>

코드는 다음과 같습니다.
//전체 변환 -너비 숫자를 반너비 숫자로

function GetAlabNum($fnum){
$nums = array("0","1","2","3","4 ","5", "6","7","8","9");
$fnums = "0123456789";
for($i=0;$i$fnum = ereg_replace("[^0-9.]|^0{1,}", "",$fnum) ;
if($fnum=="") $fnum=0;
return $fnum;}
?>
//HTML 태그 제거

function Text2Html($txt){
$txt = str_replace(" "," ",$txt)
$txt = str_replace( "$txt = str_replace(">",">",$txt)
$txt = preg_replace("/[rn]{ 1,}/isU","
rn",$txt);
return $txt;
}
?>

코드는 다음과 같습니다.
//상대 경로를 절대 경로로 변환
< ;?
function 상대_to_absolute($content, $feed_url) {
preg_match('/(http|https|ftp):///', $feed_url, $protocol);
$server_url = preg_replace( "/(http|https|ftp|news):///", "", $feed_url)
$server_url = preg_replace("//.*/ ", "", $server_url);
if ($server_url == '') {
return $content;
}
if (isset($protocol[0])) {
$new_content = preg_replace('/href="/ /', 'href="'.$protocol[0].$server_url.'/', $content)
$new_content = preg_replace('/src= "//', 'src="'.$ 프로토콜[0].$server_url.'/', $new_content)
} else {
$new_content =
}
return $new_content;
?

다음과 같이 코드를 복사하세요.
//모든 링크 가져오기

function get_all_url($code)
preg_match_all('/"' ]+)["|']?s*[^>]*>([^> ]+)
/i',$ code,$arr)
return array('name'=>$arr[2],'url'=>$arr[1]);
}
?>

다음과 같이 코드를 복사합니다.
//HTML 테이블의 각 행을 CSV 형식 배열로 변환합니다.
function get_tr_array ($table) {
$table = preg_replace("'< ;td[^>]*?>'si",'"',$table);
$table = str_replace("",'",',$table);
$table = str_replace(" ","{tr}",$table)
//HTML 태그 제거
$table = preg_replace("']*?>'si","",$table)
//공백 문자 제거
$ table = preg_replace("'([rn])[s]+' ","",$table)
$table = str_replace(" ","",$table)
$table = str_replace (" ","",$table);
$table =explore(",{tr}",$table)
array_pop($table)
return $table;
?>

다음과 같이 코드를 복사하세요.
//HTML 테이블의 각 행과 열을 배열로 변환하고 테이블 데이터를 수집합니다.
function get_td_array ($table) {
$table = preg_replace("']*?>'si","",$table)
$table = preg_replace("']*?>'si","",$ table);
$table = preg_replace("'","{td} ",$table);
//HTML 태그 제거
$ table = preg_replace("']*?>'si","", $table);//공백 문자 제거
$table = preg_replace("'([rn])[s]+'","",$table)
$table = str_replace(" ","",$table);
$table = str_replace(" ","",$table); 
$table = explode('{tr}', $table); 
array_pop($table); 
foreach ($table as $key=>$tr) { 
$td = explode('{td}', $tr); 
array_pop($td); 
$td_array[] = $td; 

return $td_array; 

?> 

复制代码 代码如下: 
//返回字符串中的所有单词 $distinct=true 去除重复 
 
function split_en_str($str,$distinct=true) { 
preg_match_all('/([a-zA-Z]+)/',$str,$match); 
if ($distinct == true) { 
$match[1] = array_unique($match[1]); 

sort($match[1]); 
return $match[1]; 

?> 

复制代码 代码如下: 
//打印出为本PHP项目做出贡献的人员的清单 
 
string phpcredits(void) 
?> 


//获得当前的脚本网址 
function get_php_url(){ 
        if(!empty($_SERVER["REQUEST_URI"])){ 
                $scriptName = $_SERVER["REQUEST_URI"]; 
                $nowurl = $scriptName; 
        }else{ 
                $scriptName = $_SERVER["PHP_SELF"]; 
                if(empty($_SERVER["QUERY_STRING"])) $nowurl = $scriptName; 
                else $nowurl = $scriptName."?".$_SERVER["QUERY_STRING"]; 
        } 
        return $nowurl; 




//把全角数字转为半角数字 
function GetAlabNum($fnum){ 
        $nums = array("0","1","2","3","4","5","6","7","8","9"); 
        $fnums = "0123456789"; 
        for($i=0;$i        $fnum = ereg_replace("[^0-9\.]|^0{1,}","",$fnum); 
        if($fnum=="") $fnum=0; 
        return $fnum; 

//去除HTML标记 
function Text2Html($txt){ 
        $txt = str_replace("  "," ",$txt); 
        $txt = str_replace("        $txt = preg_replace("/[\r\n]{1,}/isU","
\r\n",$txt); 
        return $txt; 



//清除HTML标记 
function ClearHtml($str){ 
        $str = str_replace('        return $str; 

//相对路径转化成绝对路径 
function relative_to_absolute($content, $feed_url) { 
    preg_match('/(http|https|ftp):\/\//', $feed_url, $protocol); 
    $server_url = preg_replace("/(http|https|ftp|news):\/\//", "", $feed_url); 
    $server_url = preg_replace("/\/.*/", "", $server_url);  

    if ($server_url == '') { 
        return $content; 
    } 



    if (isset($protocol[0])) { 
        $new_content = preg_replace('/href="\//', 'href="'.$protocol[0].$server_url.'/', $content); 
$new_content = preg_replace('/src="//', 'src="'.$protocol[0].$server_url.'/', $new_content)
} else {
$new_content = $ content;
}
$new_content 반환
}
//모든 링크 가져오기
function get_all_url($code){
preg_match_all('/"' ]+)["|']?s*[^>]*>([^>]+)/i',$code, $arr)
return array('name'=>$arr[2],'url'=>$arr[1])
}




//지정된 태그의 내용 가져오기
function get_tag_data($str, $start, $end){
If ( $start == '' || $end == '' ){
             return
}
//HTML 테이블의 각 행을 CSV 형식 배열로 변환
function get_tr_array($table) {
$table = preg_replace("'
",'",',$table);
$ table = str_replace("","{tr}",$table);
//HTML 태그 제거




$table = preg_replace( "']*?>'si","",$table)
//공백 문자 제거
]+'","" ,$table);
$table = str_replace(" ","",$table)
$table = str_replace(" ","",$table); 폭발(",{tr}",$table);
array_pop($table);
return $table;

//HTML 변환 테이블을 배열로 변환하여 테이블 데이터 수집
function get_td_array($table) {
              $table = preg_replace("'
]*?>'si","", $table);
$table = str_replace(" ","{tr}",$table)
$table = str_replace("
]*? >'si",'"',$table)
$table = str_replace("
]*?>'si"," ",$table) ;
$table = preg_replace("']*?>'si","",$table)
$table = preg_replace("'< ;td[^> ;]*?>'si","",$table);
$table = str_replace("","{tr}",$table);
        $table = str_replace ("","{td}",$table)
                                                                        ~                         [^]*?>'si","",$table);
//제거 공백 문자
$table = preg_replace("'([rn])[s]+' ","",$table)




         $table = str_replace (" ","",$table);                                                                                   $table "",$table);

$table =explore('{tr}', $table)
array_pop($table);
foreach ($table as $key=> $tr) {
$td =explore('{td}', $tr)
array_pop($td);
               $td_array[] = $td; true 중복 제거
function Split_en_str($str,$distinct=true) {
preg_match_all('/([a-zA-Z] +)/',$str,$match);
if ( $distinct == true) {
                                                                                      ;
}





//파일 읽기 함수
function PHP_Read($file_name) {
$fd=fopen($file_name ,r)
while($bufline=fgets($fd, 4096)){
$ buf.=$bufline;
}
fclose($fd);
return $buf }
?> >

파일 쓰기 함수




//파일 쓰기 함수
function PHP_Write($file_name,$data,$method="w") {
$filenum=@fopen($file_name,$method);
무리( $filenum,LOCK_EX)
$file_data=fwrite($filenum,$data);
fclose($filenum) ;
return $file_data;
}
?>


정적 페이지 생성 기능


// 정적 페이지 생성 기능 phptohtm($filefrom,$fileto,$u2u=1){
if( $u2u==1){
$data=PHP_Read($filefrom)
}else{
$data= $filefrom
}
PHP_Write($fileto,$data);
return true
}
?>

조건 정보 수량 검색 함수 지정




//조건 정보 수량 검색 함수 지정
function rec_exist($table,$where){
$query="$table에서 num으로 선택". $where
$result=mysql_query($query) 또는 die(nerror(1))
$rowcount=mysql_fetch_array($result );
$num=$rowcount["num"];
if ($num==0){
return false
}
return $num; 🎜> ?>





디렉토리 삭제 기능


// 디렉토리 삭제 기능
기능 del_DIR($directory){
$mydir=dir($directory);
while($file=$mydir->read()){
if((is_dir("$directory/$file")) AND ($ file!=".") AND ($file!=". .")){
del_DIR("$directory/$file")
}else{
if(($file!= ".") AND ($file!="..") ){
unlink("$directory/$file")
//echo "$directory/$file 연결 해제 ok "; }
}
}


$mydir->close();
rmdir($directory)
//echo "rmdir $directory ok "; 🎜> }
?>



디렉토리 이름 적법성 감지 기능


// 디렉토리 이름 적법성 감지
기능 isen($str) {
$ret="";
for($i=0;$i $p=ord(substr($str,$i,1));
if(($p57 & $p90 & $p nerror("사양을 충족하지 않습니다! ");
}
$ret.=chr($p);
}
return $ret;
}
?>



페이징 기능


   //分页函式 
   함수 분할 목록($HALT,$LRLIST,$ECHOCNT,$paper,$table,$where,$page_id,$userid){ 
   global $splitstr,$sumcnt; 
   if($paper=="" || $sumcnt==""){ 
   $query = "$table $where에서 숫자로 count(*)를 선택합니다"; 
   $result = mysql_query($query); 
   $row = mysql_fetch_array($result); 
   $sumcnt=$row["num"]; 
   if($sumcnt==0){ 
   nerror("该版内还没有选择发布新闻 !"); 
    } 
   $paper=1; 
    } 


   $sumpaper=($sumcnt-$sumcnt%$ECHOCNT)/$ECHOCNT; 
   if(($sumcnt%$ECHOCNT)!=0) $sumpaper+=1; 
   if($sumpaper==1 && $HALT==0) return($where); 
   $enwhere=base64_encode(base64_encode($where)); 
   if(($LRLIST*2+1)    if(($paper-$LRLIST)    $tract=1; 
   $sub=$LRLIST*2+1; 
    }else if(($paper+$LRLIST) >= $sumpaper){ 
   $tract=$sumpaper-($LRLIST*2); 
   $sub=$sumpaper; 
    }else{ 
   $tract=$paper-$LRLIST; 
   $sub=$paper+$LRLIST; 
    } 
    }else{ 
   $tract=1; 
   $sub=$sumpaper; 
    } 
   $uppaper=$paper-1; 
   $downpaper=$paper+1; 
   $startcnt=($paper-1)*$ECHOCNT; 
   $where.=" ${ startcnt },${ ECHOCNT }" 제한; 



   if($tract > 1) { $splitstr="【    else $splitstr="【    for($i=$tract;$i   if ($i!=$paper) $splitstr.="".$i." "; 
   else $splitstr.="".$i." "; 
    } 
   if ($sub!=$sumpaper) $splitstr.=">> ]"; 
   else $splitstr.=">> 】"; 
   반환($where); 
    } 
   ?> 



关于分页函式的使用说明  
      /* 
   #### 检索分页函式 #### 
   Int $HALT -果仅分1页时是否(1/0)显示页码条 
   Int $LRLIST - (页码条显示页码数-1)/2 
   Int $ECHOCNT - 检索时每页显示记录的数weight 
   Int $ 종이 - 页数,预提取:$paper=$HTTP_GET_VARS[paper]; 
   Varchar $table - 数据表name,预附值:$table="db.table"; 
   Varchar $where - 检索条件,预附值:$where="where field='value'";    
   函式调사용前需获取变weight - 
   $paper=$HTTP_GET_VARS[paper]; 
   $sumcnt=$HTTP_GET_VARS[sumcnt]; 
   $enwhere=$HTTP_GET_VARS[enwhere]; 
   
   반환(Varchar $where) - 分页后检索语句的检索条件  
   注意:本函式需调用 Out错处函式 nerror($error)리; 
   */ 




图文文件上传函式 



//图文文件上传函式 
function upload_img($UploadFile,$UploadFile_name,$UploadFile_size,$UploadPath,$max_size=64){ 
   
   //$TimeLimit=60; //设置超时限aze时间 缺省时间为 30秒 设置为0时为不限时 
   //set_time_limit($TimeLimit); 
   if(($UploadFile!= "none" )&&($UploadFile != "" )){ 
   $FileName=$UploadPath.$UploadFile_name; 
   if($UploadFile_size    $FileSize="(string)$UploadFile_size" . "문자"; 
    }elseif($UploadFile_size


   $FileSize=number_format((double)($UploadFile_size / 1024), 1) . "KB"; 
    }else{ 
nerror("파일이 크기 제한을 초과했습니다!");
}
//{
//$FileSize="number_format((double)($UploadFile_size" / (1024 * 1024)), 1) . " MB";
// }
if(!file_exists($FileName)){
if(copy($UploadFile,$FileName)){
return "$UploadFile_name ($FileSize)" ;
}else{
nerror("$UploadFile_name 파일 업로드 실패!")
}
unlink($UploadFile)
}else{
nerror("$UploadFile_name 파일 이미 존재합니다!");
}
//set_time_limit(30); //기본 시간 초과 설정 복원
}
}




IP 주소의 적법성을 확인하는 방법
if(!strcmp(long2ip(sprintf("%u",ip2long($ip))),$ip)) echo "is ipn"; -

이메일 규칙성 판단
에레기("^[_.0-9a-zA-Z-]+@([0-9a-zA-Z][0-9a-zA-Z_- ]+ .)+[a-zA-Z]$", $email);



IP 주소와 마스크가 합법적인지 확인하는 예





$ip = '192.168.0.84';
$mask = '255.255.255.0';
$network = '192.168.0'; ($ip) ;
$mask = ip2long($mask);
$network = ip2long($network)

if( ($ip & $mask) == $network) echo "유효한 IP 및 마스크";



---



파일 다운로드 헤더 출력 설정 방법





header("콘텐츠 유형: 애플리케이션/x-다운로드")
header("콘텐츠 처리: 첨부 파일; 파일 이름=$file_download_name;" );
header("허용 범위: 바이트");
header("콘텐츠 길이: $download_size")
echo 'xxx'


헤더를 사용하여 ftp 다운로드 방법을 출력하고 중단점 재개를 지원합니다.
예:




header('Pragma: public')
header('Cache- 제어: 비공개 ');
header('캐시-제어: 캐시 없음, 재검증 필요')
header('Accept-Ranges: bytes')
header('연결: 닫기' );
header("Content-Type: audio/mpeg");
header("위치:ftp://download:1bk3l4s3k9s2@232.2.22.22/2222/web 기술 개발 지식 베이스/cn_web.rmvb" );







정규 경기 중국어
ereg("^[".chr(0xa1)."-".chr( 0xff). "]+$", $str)

텍스트의 하이퍼링크 일괄 바꾸기





함수 urlParse ($str = ''){
if ('' == $str) return $str;
$types = array("http", "ftp", "https"); 🎜 >$replace = ''.htmlentities('1') .htmlentities('2').''




$ret

( ,$type) = 각각($types)){
$ret = preg_replace("|($type://)([^s]*)|ie ", $replace, $ret)
}



$ret 반환
}
?>

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
PHP와 Python : 다른 패러다임이 설명되었습니다PHP와 Python : 다른 패러다임이 설명되었습니다Apr 18, 2025 am 12:26 AM

PHP는 주로 절차 적 프로그래밍이지만 객체 지향 프로그래밍 (OOP)도 지원합니다. Python은 OOP, 기능 및 절차 프로그래밍을 포함한 다양한 패러다임을 지원합니다. PHP는 웹 개발에 적합하며 Python은 데이터 분석 및 기계 학습과 같은 다양한 응용 프로그램에 적합합니다.

PHP와 Python : 그들의 역사에 깊은 다이빙PHP와 Python : 그들의 역사에 깊은 다이빙Apr 18, 2025 am 12:25 AM

PHP는 1994 년에 시작되었으며 Rasmuslerdorf에 의해 개발되었습니다. 원래 웹 사이트 방문자를 추적하는 데 사용되었으며 점차 서버 측 스크립팅 언어로 진화했으며 웹 개발에 널리 사용되었습니다. Python은 1980 년대 후반 Guidovan Rossum에 의해 개발되었으며 1991 년에 처음 출시되었습니다. 코드 가독성과 단순성을 강조하며 과학 컴퓨팅, 데이터 분석 및 기타 분야에 적합합니다.

PHP와 Python 중에서 선택 : 가이드PHP와 Python 중에서 선택 : 가이드Apr 18, 2025 am 12:24 AM

PHP는 웹 개발 및 빠른 프로토 타이핑에 적합하며 Python은 데이터 과학 및 기계 학습에 적합합니다. 1.PHP는 간단한 구문과 함께 동적 웹 개발에 사용되며 빠른 개발에 적합합니다. 2. Python은 간결한 구문을 가지고 있으며 여러 분야에 적합하며 강력한 라이브러리 생태계가 있습니다.

PHP 및 프레임 워크 : 언어 현대화PHP 및 프레임 워크 : 언어 현대화Apr 18, 2025 am 12:14 AM

PHP는 현대화 프로세스에서 많은 웹 사이트 및 응용 프로그램을 지원하고 프레임 워크를 통해 개발 요구에 적응하기 때문에 여전히 중요합니다. 1.PHP7은 성능을 향상시키고 새로운 기능을 소개합니다. 2. Laravel, Symfony 및 Codeigniter와 같은 현대 프레임 워크는 개발을 단순화하고 코드 품질을 향상시킵니다. 3. 성능 최적화 및 모범 사례는 응용 프로그램 효율성을 더욱 향상시킵니다.

PHP의 영향 : 웹 개발 및 그 이상PHP의 영향 : 웹 개발 및 그 이상Apr 18, 2025 am 12:10 AM

phphassignificallyimpactedwebdevelopmentandextendsbeyondit

스칼라 유형, 반환 유형, 노조 유형 및 무효 유형을 포함한 PHP 유형의 힌트 작업은 어떻게 작동합니까?스칼라 유형, 반환 유형, 노조 유형 및 무효 유형을 포함한 PHP 유형의 힌트 작업은 어떻게 작동합니까?Apr 17, 2025 am 12:25 AM

PHP 유형은 코드 품질과 가독성을 향상시키기위한 프롬프트입니다. 1) 스칼라 유형 팁 : PHP7.0이므로 int, float 등과 같은 기능 매개 변수에 기본 데이터 유형을 지정할 수 있습니다. 2) 반환 유형 프롬프트 : 기능 반환 값 유형의 일관성을 확인하십시오. 3) Union 유형 프롬프트 : PHP8.0이므로 기능 매개 변수 또는 반환 값에 여러 유형을 지정할 수 있습니다. 4) Nullable 유형 프롬프트 : NULL 값을 포함하고 널 값을 반환 할 수있는 기능을 포함 할 수 있습니다.

PHP는 객체 클로닝 (클론 키워드) 및 __clone 마법 방법을 어떻게 처리합니까?PHP는 객체 클로닝 (클론 키워드) 및 __clone 마법 방법을 어떻게 처리합니까?Apr 17, 2025 am 12:24 AM

PHP에서는 클론 키워드를 사용하여 객체 사본을 만들고 \ _ \ _ Clone Magic 메소드를 통해 클로닝 동작을 사용자 정의하십시오. 1. 복제 키워드를 사용하여 얕은 사본을 만들어 객체의 속성을 복제하지만 객체의 속성은 아닙니다. 2. \ _ \ _ 클론 방법은 얕은 복사 문제를 피하기 위해 중첩 된 물체를 깊이 복사 할 수 있습니다. 3. 복제의 순환 참조 및 성능 문제를 피하고 클로닝 작업을 최적화하여 효율성을 향상시키기 위해주의를 기울이십시오.

PHP vs. Python : 사용 사례 및 응용 프로그램PHP vs. Python : 사용 사례 및 응용 프로그램Apr 17, 2025 am 12:23 AM

PHP는 웹 개발 및 컨텐츠 관리 시스템에 적합하며 Python은 데이터 과학, 기계 학습 및 자동화 스크립트에 적합합니다. 1.PHP는 빠르고 확장 가능한 웹 사이트 및 응용 프로그램을 구축하는 데 잘 작동하며 WordPress와 같은 CMS에서 일반적으로 사용됩니다. 2. Python은 Numpy 및 Tensorflow와 같은 풍부한 라이브러리를 통해 데이터 과학 및 기계 학습 분야에서 뛰어난 공연을했습니다.

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

VSCode Windows 64비트 다운로드

VSCode Windows 64비트 다운로드

Microsoft에서 출시한 강력한 무료 IDE 편집기

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

MinGW - Windows용 미니멀리스트 GNU

MinGW - Windows용 미니멀리스트 GNU

이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

WebStorm Mac 버전

WebStorm Mac 버전

유용한 JavaScript 개발 도구

SublimeText3 Linux 새 버전

SublimeText3 Linux 새 버전

SublimeText3 Linux 최신 버전