最近 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"); el se if (getenv("REMOTE_ADDR")) $ip = getenv("REMOTE_ADDR"); return $ip ?> :// /www.jb51.net/article/22199.htm function DateAdd($date, $int, $unit = "d") { //時間の増加(改善も可能)時間、分、秒まで) 時間があれば追加できます) $dateArr =explode("-", $date); $value[$unit] = $int; (0,0,0, $dateArr[1] + $value['m'], $dateArr[2] + $value['d'], $dateArr[0] + $value['y'])) ; } function GetWeekDay( $date) { //指定された日付の曜日を計算します $dateArr =explode("-", $date) return date("w", mktime(0,0) ,0,$dateArr[1] ,$dateArr[2],$dateArr[0])); } ?> 詳細なソース参照: http://www.jb51.net/article/22199.htm function check_date( $date) { // 日付が有効な日付かどうかを確認します $dateArr =explode("-", $date); if (is_numeric($dateArr[0]) && is_numeric( $dateArr[1]) && is_numeric($dateArr [2])) { return checkdate($dateArr[1],$dateArr[2],$dateArr[0]); } return false; 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 = "") { //時間比較関数、秒数、分数、 2 つの日付間の時間または日数 switch ($unit ) { case 's': $dividend = 1; case 'h': $dividend = 3600; case 'd': $dividend = 86400; $time2 = strtotime( $date2); if ($time1 && $time2) return (float)($time1 - $time2) / $dividend; } ?> 詳細なソース参照: http://www. jb51.net/article/22199.htm 方法 1: header("Location:index.php"); 方法 2: echo "window.location ="$PHP_SELF";< ;/scrīpt>"; 方法 3: echo " "; ?> 詳細なソース参照: http:// www.jb51.net/article/22199.htm PHP リダイレクト 次のようにコードをコピーします: 方法 1: header("Location:index.php") 方法 2: echo ""; 方法 3: echo " "; ? > 訪問者のブラウザの コードを取得します: $browser="";$browserver=""; ,"AOL","Opera","JAVA ","MacWeb","WebExplorer","OmniWeb"); $Agent = $GLOBALS["HTTP_USER_AGENT"]; 7; $i++) { if (strpos($Agent,$Browsers[$i])) { $browser = $Browsers[$i]; $ブラウザサーバー = "; } } if (ereg("Mozilla",$Agent) && !ereg("MSIE",$Agent)) { $temp =explode("(", $Agent); $Part=$temp[ 0]; $temp =explode("/", $browserver=$temp[1]; $temp =explode(" ",$browserver); browserver =preg_replace("/([d.]+)/","1",$browserver); $browserver = " $browserver"; } if (" Mozilla",$Agent) && ereg("Opera",$Agent)) { $temp =explode("(", $Agent); $Part=$temp[1]; $temp =explode(") ", $Part); $browserver=$temp[1]; $temp =explode(" ",$browserver);$browserver=$temp[2]; $browserver =preg_replace("/([d.] +)/","1",$browserver); $browserver = " $browserver"; $browser = "Opera"; } if (ereg("Mozilla",$Agent) && ereg("MSIE" ,$Agent)) { $temp =explode("(", $Agent); $Part=$temp[1]; $temp =explode(";",$Part); $Part=$temp[ 1]; $temp =explode(" ",$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 获取问者操作系统 复制代码如下: 関数 osinfo() { $os=""; $エージェント = $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 文件格式类 复制發代码如下: $mime_types = array( 'gif' => 'image/gif', 'jpg' => 'image/jpeg', 'jpeg' => 'image/jpeg', 'jpe' => 'image/jpeg', 'bmp' => 'image/bmp', 'png' => 'image/png', 'tif' => 'image/tiff', 'tiff' => 'image/tiff', 'pict' => 'image/x-pict', 'pic' => 'image/x-pict', 'pct' => 'image/x-pict', 'tif' => 'image/tiff', 'tiff' => '画像/tiff', 'psd' => 'image/x-photoshop', 'swf' => 'application/x-shockwave-flash', 'js' => 'application/x-javascript', 'pdf' => 'application/pdf', 'ps' => 'application/postscript', 'eps' => 'application/postscript', 'ai' => 'application/postscript', 'wmf' => 'application/x-msmetafile', 'css' => 'text/css', 'htm' => 'text/html', 'html' => 'text/html', 'txt' => 'text/plain', 'xml' => 'text/xml', 'wml' => 'text/wml', 'wbmp' => 'image/vnd.wap.wbmp', 'mid' => 'audio/midi', 'wav' => 'オーディオ/wav', 'mp3' => 'audio/mpeg', 'mp2' => 'audio/mpeg', 'avi' => 'video/x-msvideo', 'mpeg' => 'video/mpeg', 'mpg' => 'video/mpeg', 'qt' => 'video/quicktime', 'mov' => 'video/quicktime', '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', 'sit' => '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' => 'application/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文档 复制代码代码如下: header("Content-type:application/vnd.ms-excel"); header("Content-Disposition:filename=test.xls"); エコー「test1t」; 「test2tn」をエコーします。 エコー「test1t」; 「test2tn」をエコーします。 エコー「test1t」; 「test2tn」をエコーします。 エコー「test1t」; 「test2tn」をエコーします。 エコー「test1t」; 「test2tn」をエコーします。 エコー「test1t」; 「test2tn」をエコーします。 //改相应文件头就可出出.doc .xls等文件格式了 ?> 詳細なソース参照: http://www.jb51.net/article/22199.htm 時間比較の問題 簡単な例を挙げてみましょう: たとえば、フォーラムでは、その日に公開された投稿をマークするために新しい画像を使用します。 方法 1: 次のようにコードをコピーします: //$db->rows[$i][date] はデータベースの datetime フィールドの値です $today=time(); theDay= date("Y-m-d H:i:s",$today-24*3600); $newTag=$db->rows[$i][date]>=$theDay?" ":""; //方法 2: $newTag=$db->rows[$i][date]>=date("Y-m-d 00:00 :00 ")?" ":""; ?> 次のようにコードをコピーします: //ページによって送信された変数を抽出しますおよびブラウザでは、PHP.INI でグローバル変数を開くのと同等の関数 @extract($_SESSION, EXTR_SKIP); @extract($_POST, EXTR_SKIP); extract($_FILES , EXTR_SKIP); @extract($_ENV, EXTR_SKIP); 次のようにコードをコピーします: //ファイル関数を読み込みます 関数 readfromfile( $file_name) { if (file_exists($file_name)) { $filenum=fopen($file_name,"r") $file_data=fread($filenum, filesize($file_name )); fclose($filenum); $file_data($file_name,$data,$method="w") { $filenum=fopen ,$method); $file_data=fwrite($filenum); $file_data; ;次のように: //クイック ページめくり functionturntopage($url="index.php",$ info = "ページはリダイレクト中です...",$second=2){ print "< html>nnページはリダイレクトしています... n"; print " n"; print "n"; print "n n"; print "n" ; print " n"; print " n"; print " n"; " n "; print " n" print " ページ リダイレクト プロンプト メッセージ n"; print " n"; center">$infon"; print " n"; print " n"; print " お使いのブラウザが自動ジャンプをサポートしていない場合は、ここをクリックしてください n"; print " n"; print " n"; print " n"; print " n"; " n"; print "n"; print "n"; ;/html>"; exit; ?>> ランダムな文字列関数を生成します 次のようにコードをコピーします: function random($length) { $hash = @#@#; $chars = @#ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz@#; $max = strlen($chars) - 1; for($i = 0; $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; $addstr=@# ...@#; for($i = 0; $i if(ord($string[$i ]) > 127) { $wordscut .= $string[$i].$string[$i + 1] } 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") ), "不明" )) $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@#], "unknown")) $ ip = $_SERVER[ @#REMOTE_ADDR@#]; else $ip = "unknown"; } ?> コードは次のとおりです。 ;? 関数 checkEmail($inAddress) { return (ereg("^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a- zA-Z0-9_-])+ ",$inAddress)); } ?> ,$totalpage,$sums; //out param $page = $_GET["page"]; //$eachpage = $page_size; $pagesql = strstr($sql," from "); $pagesql = "ID として count(*) を選択します。" $result = mysql_query($rsql); mysql_fetch_array($result)) $sums = $rs[0]; $totalpage = ceil($sums/$page_size); if((!$page)($page$sql .=" 制限 $startpos ,$page_size "; 関数 showbar($string="") { グローバル $page, $totalpage; $out="合計".$totalpage." ページ"; $linkNum =4; $start = ($page-round($linkNum/2) )>0 ($page-round($linkNum/2)) : "1"; Round($linkNum/2))<$totalpage ? ($page+round($linkNum/2)) : $totalpage; $nextend=$end+1; $page<>1) $out .= "最初のページ if($start>) ;1) $out.="..<< for($t =$start;$t{ $out .= ($page==$t) ? "[".$t."] " : "$ t "; } if($end< ;$totalpage) $out.=">>..< /a>"; if($page<>$totalpage) $out .= " Last page "; return $out; } ?> 新しく挿入されたデータの ID を取得する 次のようにコードをコピーします: mysql_insert_id(); ?> コードは次のとおりです: //現在のスクリプトの URL を取得します if(!empty($_server["REQUEST_URI"])){ $scriptName = $_SERVER["REQUEST_URI"] }else{ $scriptName = $_SERVER; ["PHP_SELF"]; if(empty($_SERVER["QUERY_STRING"])) $nowurl = $scriptName; else $nowurl = $scriptName."?".$_SERVER["QUERY_STRING"]; $nowurl; } ?> コードは次のとおりです: //全角数字を半角数字に変換します function GetAlabNum($fnum){ $nums = array(" ","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); $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); "//', 'src="'.$protocol[0].$server_url.'/', $new_content); $new_content = $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 の各行を変換します。 table を CSV 形式の配列に変換 function get_tr_array($table) { $table = preg_replace("']*?>'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); $table =explode(",{tr}", $table); array_pop($table); return $table; } ?> 次のようにコードをコピーします: //HTML テーブルの各行と列を配列に変換し、テーブル データを収集します function get_td_array($table) { $table = preg_replace("']*?> 'si","",$table); $table = preg_replace("'< tr[^>]*?>'si","",$table); $table = preg_replace("' ]*?>si","",$table ); $table = str_replace("","{tr}",$table); $table = str_replace(" ","{td}",$table); //HTML タグを削除します $table = preg_replace("'<[/!]*?[^<>] *?>'si","",$table); //空白文字を削除 $table = preg_replace("'([rn])[s]+'","",$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<=9;$i++) $fnum = str_replace($nums[$i],$fnums[$i],$fnum); $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); $txt = str_replace(">",">",$txt); $txt = preg_replace("/[\r\n]{1,}/isU"," \r\n",$txt); return $txt; } //清除HTML标记 function ClearHtml($str){ $str = str_replace('<','<',$str); $str = str_replace('>','>',$str); 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); $new_content = $content; return $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 $str[0]} //HTML テーブルの各行を CSV 形式の配列に変換します function get_tr_array($table) { $table = preg_replace("']*?> 'si",'"',$table); $table = str_replace(" ",'",', $table); $table = str_replace(""," {tr} ", $ table); // HTML マークを削除します $ table = preg_replace (" '& lt; [/!]*? ,"",$table); $table = (", {tr}", $table); array_pop($table); return $ Table; // HTML テーブルを配列に変換します。 , フォームデータを収集します function get_td_array ($ table) { $ table = preg_replace ("'& lt; table [^& gt;]*? & gt. ;'si","",$table); = preg_replace("']*?>'si","",$table); $table = preg_replace(" ']*?>'si ","",$table); $table = str_replace(" ","{tr}",$table); $ table = str_replace("","{td) }",$table); table = str_replace(" ); ;array_pop($td); preg_match_all('/([a-zA-Z]+)/',$str,$match); [1]); $ fd=fopen( $file_name,r); while($bufline=fgets($fd, 4096)){ $buf.=$bufline; } fclose($fd) } ?> fopen( $file_name,$method); $filenum,$data); $file_data; 静的ページ生成関数 //静的ページ生成関数 function phptohtm($filefrom,$fileto,$u2u=1){ if($u2u==1){ $data=PHP_Read($ filefrom); }else{ $data=$filefrom; } PHP_Write($fileto,$data); } 条件情報量取得関数を指定します //条件情報量取得関数を指定 function rec_exist($table,$where){ $query="select count(*) as num from $table ".$where $result=mysql_query ($query) or die; (nerror(1)); $rowcount=mysql_fetch_array($result); $num==0){ return false; } ?> ディレクトリ削除関数 //ディレクトリ削除関数 function del_DIR($directory){ while($file=$mydir- >read()){ if((is_dir("$directory/$file")) AND ($file!=".") AND ($file!=".." )){ del_DIR("$ディレクトリ/$file"); }else{ if(($file!=".") AND ($file!="..")){ unlink("$directory /$file"); / /echo "$directory/$file ok "; } } } $mydir->close(); rmdir($directory) //echo " rmdir $directory ok "; ?> ディレクトリ名の正当性検出関数 // ディレクトリ名の正当性検出 function isen($str){ $ret="" for ($i=0;$i $p= ord(substr($str,$i,1)); if(($p<48 & $p!=45 & $p!=46) || ($ p>57 & $p<65) || ($p>90 & $p<97 & $p!=95) || $p>122){ nerror("仕様を満たしていません! "); } $ret.=chr($p); } return $ret; } ?> ページング関数 //分页関数式 function splitlist($HALT,$LRLIST,$ECHOCNT,$paper,$table,$where,$page_id,$userid){ global $splitstr,$sumcnt; if($paper=="" || $sumcnt==""){ $query = "$table $where から num として 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<=$sub;$i++){ if ($i!=$paper) $splitstr.="".$i." "; else $splitstr.="".$i." "; } if ($sub!=$sumpaper) $splitstr.=">> ]"; else $splitstr.=">> ]"; return($where); } ?> 分数関数式の使用に関する説明 /* #### 检索分页関数式 #### Int $HALT - 检索結果仅分1页時否(1/0)表示页コード条 In t $LRLIST - (页码条显表示页コード数-1)/2 Int $ECHOCNT - 検索時の検索数 Int $paper - 页数、引取:$paper=$HTTP_GET_VARS[paper]; Varchar $table - データベース表名,预附值:$table="db.table"; Varchar $where - 検索条件,预附值:$where="where field='value'"; Varchar $enwhere - 将原$where を次base64_encode() を実行してからGETの方法で提交します Varchar $splitstr - 页 コード条出力文字列、関数式を実行後、対応する位置で echo $splitstr; を実行します。 函式调用前必要获取变量 - $paper=$HTTP_GET_VARS[paper]; $sumcnt=$HTTP_GET_VARS[sumcnt]; $enwhere=$HTTP_GET_VARS[enwhere]; Return (Varchar $where) - 分後検索语の検索条件 注意:本関数式必要调用出错处理関数式 nerror($error); */ 写真文件上传関数式 //写真文件上传関数式 function Upload_img($UploadFile,$UploadFile_name,$UploadFile_size,$UploadPath,$max_size=64) { / /$タイムリミット=60; //超時間制限時間を設定します 省時間は 30 秒に設定します 0 時間は無制限に設定します //set_time_limit($TimeLimit); if(($UploadFile!= "none" )&&($UploadFile != "" )){ $FileName=$UploadPath.$UploadFile_name; if($UploadFile_size <1024){ $FileSize="(string)$UploadFile_size" . "字节"; }elseif($UploadFile_size <(1024 * $max_size)){ $FileSize=number_format((double)($UploadFile_size / 1024), 1) . 「KB」; }その他{ nerror("ファイルがサイズ制限を超えています!"); } //{ //$FileSize="number_format((double)($UploadFile_size" / (1024 * 1024)), " 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"; ---- メール規則性判定 eregi("^[_.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' ; $ip = ip2long($マスク); ($ip & $マスク) == $network) echo "有効な IP とマスクn" ---- ファイルのダウンロードヘッダー出力を設定する方法 header("Content-type: application/x-download"); header("Content-Disposition:attachment; filename=$file_download_name;"); header("Accept-Range: bytes"); -Length: $download_size "); echo 'xxx' ヘッダーを使用して FTP ダウンロード メソッドを出力し、ブレークポイントによるダウンロードの再開をサポートします 例: header('Pragma: public'); header ('キャッシュ制御: プライベート'); header('キャッシュ制御: キャッシュなし、必須'); header('接続: 閉じる'); header("Content -Type: audio/mpeg"); header("Location:ftp://download:1bk3l4s3k9s2@232.2.22.22/2222/web テクノロジー開発ナレッジ ベース/cn_web.rmvb"); 通常の中国語一致 ereg("^[".chr(0xa1)."-".chr(0xff)."]+$", $str); テキスト内のハイパーリンクを一括置換します < ;?php function urlParse($str = ''){ if ('' == $str) return $str; $types = array("http", "ftp", "https"); $ replace = << ''.htmlentities('1').htmlentities ('2 ').' ' $ret = $str; while(list(,$type) = each($types)){ $ret = preg_replace ("| ($type://)([^s]*)|ie ", $replace, $ret) return $ret } ?>声明: この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。