検索
ホームページバックエンド開発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"); 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] = 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 = "") { //時間比較関数、秒数、分数、 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";";
方法 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?"一般的な PHP 関数のコレクション":"";
//方法 2:
$newTag=$db->rows[$i][date]>=date("Y-m-d 00:00 :00 ")?"一般的な PHP 関数のコレクション":"";
?>

次のようにコードをコピーします:
//ページによって送信された変数を抽出しますおよびブラウザでは、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 "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))$nextend=$end+1; $page1)
$out .= "最初のページ
if($start>) ;1)
$out.="..
for($t =$start;$t{
$out .= ($page==$t) ? "[".$t."] " : "
$ t ";
}
if($end< ;$totalpage)
$out.=">>..";
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 = 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("'
",'",', $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("'
ページ リダイレクト プロンプト メッセージ
n";
print " お使いのブラウザが自動ジャンプをサポートしていない場合は、ここをクリックしてください
]*?>'si",'"',$table);
$table = str_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);
$テーブル = 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);
$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("'
",'",', $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(" '","{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(($p57 & $p90 & $p122){
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 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 $FileSize="(string)$UploadFile_size" . "字节"; 
}elseif($UploadFile_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
}
?>
]*?>si","",$table );
$table = str_replace("","{tr}",$table);
$table = str_replace("
]*?> 'si",'"',$table);
$table = str_replace("
]*?>'si ","",$table);
$table = str_replace("

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
PHPおよびPython:さまざまなパラダイムが説明されていますPHPおよびPython:さまざまなパラダイムが説明されていますApr 18, 2025 am 12:26 AM

PHPは主に手順プログラミングですが、オブジェクト指向プログラミング(OOP)もサポートしています。 Pythonは、OOP、機能、手続き上のプログラミングなど、さまざまなパラダイムをサポートしています。 PHPはWeb開発に適しており、Pythonはデータ分析や機械学習などのさまざまなアプリケーションに適しています。

PHPとPython:彼らの歴史を深く掘り下げますPHPとPython:彼らの歴史を深く掘り下げますApr 18, 2025 am 12:25 AM

PHPは1994年に発信され、Rasmuslerdorfによって開発されました。もともとはウェブサイトの訪問者を追跡するために使用され、サーバー側のスクリプト言語に徐々に進化し、Web開発で広く使用されていました。 Pythonは、1980年代後半にGuidovan Rossumによって開発され、1991年に最初にリリースされました。コードの読みやすさとシンプルさを強調し、科学的コンピューティング、データ分析、その他の分野に適しています。

PHPとPythonの選択:ガイドPHPとPythonの選択:ガイドApr 18, 2025 am 12:24 AM

PHPはWeb開発と迅速なプロトタイピングに適しており、Pythonはデータサイエンスと機械学習に適しています。 1.PHPは、単純な構文と迅速な開発に適した動的なWeb開発に使用されます。 2。Pythonには簡潔な構文があり、複数のフィールドに適しており、強力なライブラリエコシステムがあります。

PHPとフレームワーク:言語の近代化PHPとフレームワーク:言語の近代化Apr 18, 2025 am 12:14 AM

PHPは、多数のWebサイトとアプリケーションをサポートし、フレームワークを通じて開発ニーズに適応するため、近代化プロセスで依然として重要です。 1.PHP7はパフォーマンスを向上させ、新機能を紹介します。 2。Laravel、Symfony、Codeigniterなどの最新のフレームワークは、開発を簡素化し、コードの品質を向上させます。 3.パフォーマンスの最適化とベストプラクティスは、アプリケーションの効率をさらに改善します。

PHPの影響:Web開発などPHPの影響:Web開発などApr 18, 2025 am 12:10 AM

phphassiblasifly-impactedwebdevevermentandsbeyondit.1)itpowersmajorplatformslikewordpratsandexcelsindatabase interactions.2)php'sadaptableability allowsitale forlargeapplicationsusingframeworkslikelavel.3)

スカラータイプ、リターンタイプ、ユニオンタイプ、ヌル可能なタイプなど、PHPタイプのヒントはどのように機能しますか?スカラータイプ、リターンタイプ、ユニオンタイプ、ヌル可能なタイプなど、PHPタイプのヒントはどのように機能しますか?Apr 17, 2025 am 12:25 AM

PHPタイプは、コードの品質と読みやすさを向上させるためのプロンプトがあります。 1)スカラータイプのヒント:php7.0であるため、基本データ型は、int、floatなどの関数パラメーターで指定できます。 3)ユニオンタイプのプロンプト:PHP8.0であるため、関数パラメーターまたは戻り値で複数のタイプを指定することができます。 4)Nullable Typeプロンプト:null値を含めることができ、null値を返す可能性のある機能を処理できます。

PHPは、オブジェクトのクローニング(クローンキーワード)と__Clone Magicメソッドをどのように処理しますか?PHPは、オブジェクトのクローニング(クローンキーワード)と__Clone Magicメソッドをどのように処理しますか?Apr 17, 2025 am 12:24 AM

PHPでは、クローンキーワードを使用してオブジェクトのコピーを作成し、\ _ \ _クローンマジックメソッドを使用してクローン動作をカスタマイズします。 1.クローンキーワードを使用して浅いコピーを作成し、オブジェクトのプロパティをクローン化しますが、オブジェクトのプロパティはクローニングしません。 2。\ _ \ _クローン法は、浅いコピーの問題を避けるために、ネストされたオブジェクトを深くコピーできます。 3.クローニングにおける円形の参照とパフォーマンスの問題を避けるために注意し、クローニング操作を最適化して効率を向上させます。

PHP対Python:ユースケースとアプリケーションPHP対Python:ユースケースとアプリケーションApr 17, 2025 am 12:23 AM

PHPはWeb開発およびコンテンツ管理システムに適しており、Pythonはデータサイエンス、機械学習、自動化スクリプトに適しています。 1.PHPは、高速でスケーラブルなWebサイトとアプリケーションの構築においてうまく機能し、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ヘンタイを無料で生成します。

ホットツール

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン