一般的な PHP 関数のコレクション

巴扎黑
リリース: 2016-11-23 15:21:18
オリジナル
994 人が閲覧しました

最近 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"; " 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 を取得する
次のようにコードをコピーします:
?> コードは次のとおりです:
//現在のスクリプトの 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
}
?>

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!
ページ リダイレクト プロンプト メッセージ
n";
print " お使いのブラウザが自動ジャンプをサポートしていない場合は、ここをクリックしてください