?? fun.php
字號:
<?
$mtime = explode(' ', microtime());
$starttime = $mtime[1] + $mtime[0];//計算程序運行之前的時間,以統(tǒng)計程序的運行時間
///////////////提取頁面和瀏覽器提交的變量//////////////////
@extract($_SERVER, EXTR_SKIP);
@extract($_SESSION, EXTR_SKIP);
@extract($_POST, EXTR_SKIP);
@extract($_FILES, EXTR_SKIP);
@extract($_GET, EXTR_SKIP);
@extract($_ENV, EXTR_SKIP);
/////////////////檢查非法字符函數(shù)////////////////
function check_out($msg){
$msg = str_replace('&','&',$msg);
$msg = str_replace(' ',' ',$msg);
$msg = str_replace('"','"',$msg);
$msg = str_replace("'",''',$msg);
$msg = str_replace("\t"," ",$msg);
$msg = str_replace("<","<",$msg);
$msg = str_replace(">",">",$msg);
$msg = str_replace("\r","",$msg);
$msg = str_replace("\n","<br />",$msg);
$msg = str_replace("|","│",$msg);//|
$msg = str_replace(" "," ",$msg);#編輯格式時比較有效
return $msg;
}
//過濾編輯器的內(nèi)容
function e_check($msg){
$msg = str_replace("\t"," ",$msg);
$msg = str_replace("\r","",$msg);
$msg = str_replace("\n","<br/>",$msg);
$msg = str_replace("|","│",$msg);//|
return $msg;
}
//還原編輯器內(nèi)容
function back_e($content){
$content=str_replace("\\\"","\"",$content);
$content=str_replace("\\'","'",$content);
$content=str_replace("<br/>","\n",$content);
return $content;
}
///////////////讀取函數(shù)////////////////////
function readfrom($file_name) {
$filenum=@fopen($file_name,"r");
@flock($filenum,LOCK_SH);
$file_data=@fread($filenum,filesize($file_name));
@fclose($filenum);
return $file_data;
}
/////////////寫入函數(shù)////////////////
function writeto($file_name,$infoata,$method="w") {
$filenum=@fopen($file_name,$method);
@flock($filenum,LOCK_EX);
@$file_data=fwrite($filenum,$infoata);
@fclose($filenum);
return $file_data;
}
////獲取客戶端IP函數(shù)
function get_ip()
{
if($_SERVER['HTTP_X_FORWARDED_FOR'])
{
$onlineip=$_SERVER['HTTP_X_FORWARDED_FOR'];
}
elseif($_SERVER['HTTP_CLIENT_IP'])
{
$onlineip=$_SERVER['HTTP_CLIENT_IP'];
}
else
{
$onlineip=$_SERVER['REMOTE_ADDR'];
}
return $onlineip;
}
///////////獲取下一個數(shù)據(jù)文件名函數(shù)
function get_file_name($path)
{
$i=1;
while(file_exists("$path/$i.php"))
{
$i++;
}
return $i;
}
///////////定義日期時間函數(shù)
function get_time()
{
$nowtime=date("h:i:s",time());
return $nowtime;
}
function get_date()
{
$nowdate=date("Y-m-d",time());
return $nowdate;
}
//////////////////翻頁函數(shù)
function turn_page($page,$pages)
{
$nextpage=$page+1;
$rewpage=$page-1;
if($pages=="0")
{
$detail="當(dāng)前沒有添加信息!";
}
elseif($pages=="1")
{
$detail="只有一頁";
}
else
{
if($page=="1")$detail="<a href=$PHPSELF?page=$nextpage>下一頁</a> <a href=$PHPSELF?page=$pages>尾頁</a>";
elseif($page==$pages)$detail="<a href=$PHPSELF?page=1>首頁</a> <a href=$PHPSELF?page=$rewpage>上一頁</a>";
else
{
$detail="<a href=$PHPSELF?page=1>首頁</a> <a href=$PHPSELF?page=$rewpage>上一頁</a><a href=$PHPSELF?page=$nextpage>下一頁</a> <a href=$PHPSELF?page=$pages>尾頁</a>";
}
}
return $detail;
}
//以下四個函數(shù)來源于Discuz,版權(quán)屬于Discuz//判斷IP地理位置函數(shù)
function cvipfrom($ip) {
if(!preg_match("/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/", $ip)) {
return 'Error IP!';
}
if($fd = @fopen('./ipdata/wry.dat', 'rb')) {
$ip = explode('.', $ip);
$ipNum = $ip[0] * 16777216 + $ip[1] * 65536 + $ip[2] * 256 + $ip[3];
$DataBegin = fread($fd, 4);
$DataEnd = fread($fd, 4);
$ipbegin = implode('', unpack('L', $DataBegin));
if($ipbegin < 0) $ipbegin += pow(2, 32);
$ipend = implode('', unpack('L', $DataEnd));
if($ipend < 0) $ipend += pow(2, 32);
$ipAllNum = ($ipend - $ipbegin) / 7 + 1;
$BeginNum = 0;
$EndNum = $ipAllNum;
while($ip1num > $ipNum || $ip2num < $ipNum) {
$Middle= intval(($EndNum + $BeginNum) / 2);
fseek($fd, $ipbegin + 7 * $Middle);
$ipData1 = fread($fd, 4);
if(strlen($ipData1) < 4) {
fclose($fd);
return 'System Error';
}
$ip1num = implode('', unpack('L', $ipData1));
if($ip1num < 0) $ip1num += pow(2, 32);
if($ip1num > $ipNum) {
$EndNum = $Middle;
continue;
}
$DataSeek = fread($fd, 3);
if(strlen($DataSeek) < 3) {
fclose($fd);
return 'System Error';
}
$DataSeek = implode('', unpack('L', $DataSeek.chr(0)));
fseek($fd, $DataSeek);
$ipData2 = fread($fd, 4);
if(strlen($ipData2) < 4) {
fclose($fd);
return 'System Error';
}
$ip2num = implode('', unpack('L', $ipData2));
if($ip2num < 0) $ip2num += pow(2, 32);
if($ip2num < $ipNum) {
if($Middle == $BeginNum) {
fclose($fd);
return 'Unknown';
}
$BeginNum = $Middle;
}
}
$ipFlag = fread($fd, 1);
if($ipFlag == chr(1)) {
$ipSeek = fread($fd, 3);
if(strlen($ipSeek) < 3) {
fclose($fd);
return 'System Error';
}
$ipSeek = implode('', unpack('L', $ipSeek.chr(0)));
fseek($fd, $ipSeek);
$ipFlag = fread($fd, 1);
}
if($ipFlag == chr(2)) {
$AddrSeek = fread($fd, 3);
if(strlen($AddrSeek) < 3) {
fclose($fd);
return 'System Error';
}
$ipFlag = fread($fd, 1);
if($ipFlag == chr(2)) {
$AddrSeek2 = fread($fd, 3);
if(strlen($AddrSeek2) < 3) {
fclose($fd);
return 'System Error';
}
$AddrSeek2 = implode('', unpack('L', $AddrSeek2.chr(0)));
fseek($fd, $AddrSeek2);
} else {
fseek($fd, -1, SEEK_CUR);
}
while(($char = fread($fd, 1)) != chr(0))
$ipAddr2 .= $char;
$AddrSeek = implode('', unpack('L', $AddrSeek.chr(0)));
fseek($fd, $AddrSeek);
while(($char = fread($fd, 1)) != chr(0))
$ipAddr1 .= $char;
} else {
fseek($fd, -1, SEEK_CUR);
while(($char = fread($fd, 1)) != chr(0))
$ipAddr1 .= $char;
$ipFlag = fread($fd, 1);
if($ipFlag == chr(2)) {
$AddrSeek2 = fread($fd, 3);
if(strlen($AddrSeek2) < 3) {
fclose($fd);
return 'System Error';
}
$AddrSeek2 = implode('', unpack('L', $AddrSeek2.chr(0)));
fseek($fd, $AddrSeek2);
} else {
fseek($fd, -1, SEEK_CUR);
}
while(($char = fread($fd, 1)) != chr(0))
$ipAddr2 .= $char;
}
fclose($fd);
if(preg_match('/http/i', $ipAddr2)) {
$ipAddr2 = '';
}
$ipaddr = "$ipAddr1 $ipAddr2";
$ipaddr = preg_replace('/CZ88\.NET/is', '', $ipaddr);
$ipaddr = preg_replace('/^\s*/is', '', $ipaddr);
$ipaddr = preg_replace('/\s*$/is', '', $ipaddr);
if(preg_match('/http/i', $ipaddr) || $ipaddr == '') {
$ipaddr = '- Unknown';
}
return $ipaddr;
} else {
$datadir = './ipdata/';
$ip_detail = explode('.', $ip);
if(file_exists($datadir.$ip_detail[0].'.txt')) {
$ip_fdata = @fopen($datadir.$ip_detail[0].'.txt', 'r');
} else {
if(!($ip_fdata = @fopen($datadir.'0.txt', 'r'))) {
return 'Invalid IP data file';
}
}
for($i = 0; $i <= 3; $i++) {
$ip_detail[$i] = sprintf('%03d', $ip_detail[$i]);
}
$ip = join('.', $ip_detail);
do {
$ip_data = fgets($ip_fdata, 200);
$ip_data_detail = explode('|', $ip_data);
if($ip >= $ip_data_detail[0] && $ip <= $ip_data_detail[1]) {
fclose($ip_fdata);
return $ip_data_detail[2].$ip_data_detail[3];
}
} while(!feof($ip_fdata));
fclose($ip_fdata);
return 'Unknow';
}
}
////判斷IP地理位置結(jié)束
function ubb($String)
{
$String = str_replace("│","|",$String);
$String = preg_replace("/\[b\](.+?)\[\/b\]/is","<b>\\1</b>",$String);
$String = preg_replace("/\[i\](.+?)\[\/i\]/is","<i>\\1</i>",$String);
$String = preg_replace("/\[u\](.+?)\[\/u\]/is","<u>\\1</u>",$String);
$String = preg_replace("/\[center\](.+?)\[\/center\]/is","<center>\\1</center>",$String);
$String = preg_replace("/\[url\](http:\/\/.+?)\[\/url\]/is","<a href=\\1 target=blank>\\1</a>",$String);
$String = preg_replace("/\[email\](.+?)\[\/email\]/is","<a href=mailto:\\1>\\1</a>",$String);
$String = preg_replace("/\[img\](.+?)\[\/img\]/is","<a href=\\1 target=blank><img src=\\1 border=0 title=點擊放大觀看></a>",$String);
$String = preg_replace("/\[code\](.+?)\[\/code\]/is","<table cellspacing='0' cellpadding='0' border='0' width='100%' bgcolor='{$this->bColor}' align='center'><tr><td><table border='0' cellspacing='1' cellpadding='4' width='100%'><tr><td class='tbnei' align='left'><font color='#666666'>Code:</font><br>\\1</td></tr></table></td></tr></table>",$String);
$String = preg_replace("/\[color=(.+?)\](.+?)\[\/color\]/is","<font color=\\1>\\2</font>",$String);
return $String;
}
//后臺獲取模板文件函數(shù)
function getpl($name)
{
$template="template";
safepath($template);
if(file_exists("./$template/$name.htm"))
{
$path="./$template/$name.htm";
}
else
{
$path="./$template/error.htm";
}
return $path;
}
//檢查路徑安全
function safepath($Path){
if(strpos($Path,'..')!==false){
showmsg('非法操作,請返回.....','');
}
}
//顯示信息函數(shù)
function showmsg($msg,$url){
if(empty($url)) $url="javascript:history.go(-1);";
else $url="window.location.href='$url';";
include_once getpl('msg');
}
//上傳函數(shù)
function upload(){
global $path;
if(!is_dir("$path")) return "0";//目標(biāo)文件夾不存在
$file_name=$_FILES['attachment']['name'];
$rename=time()._.basename($_FILES['attachment']['name']);
$type="rar|jpg|gif|mp3|wma";//設(shè)置允許文件類型
if(!eregi("\.($type)$",$rename)) return "0";//類型不被允許
if(file_exists("$path/$rename")) return "0";//文件已經(jīng)存在
if(function_exists("move_uploaded_file") && is_uploaded_file($_FILES['attachment']['tmp_name']))
{
if(@move_uploaded_file($_FILES['attachment']['tmp_name'], $path."/".$rename))
{
return $rename;
}
}
elseif(@copy($_FILES['attachment']['tmp_name'], $path."/".$rename))
{
return $rename;
}
else{
return "0";//未知錯誤,服務(wù)器不允許上傳,文件大小超過PHP設(shè)置……
}
}
?>
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -