📄 fun.php
字号:
<?
$mtime = explode(' ', microtime());
$starttime = $mtime[1] + $mtime[0];//计算程序运行之前的时间,以统计程序的运行时间
///////////////提取页面和浏览器提交的变量//////////////////
@extract($_SERVER, EXTR_SKIP);
@extract($_SESSION, EXTR_SKIP);
@extract($_POST, EXTR_SKIP);
@extract($_FILES, EXTR_SKIP);
@extract($_GET, EXTR_SKIP);
@extract($_ENV, EXTR_SKIP);
/////////////////检查非法字符函数////////////////
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;
}
//过滤编辑器的内容
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;
}
//还原编辑器内容
function back_e($content){
$content=str_replace("\\\"","\"",$content);
$content=str_replace("\\'","'",$content);
$content=str_replace("<br/>","\n",$content);
return $content;
}
///////////////读取函数////////////////////
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;
}
/////////////写入函数////////////////
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函数
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;
}
///////////获取下一个数据文件名函数
function get_file_name($path)
{
$i=1;
while(file_exists("$path/$i.php"))
{
$i++;
}
return $i;
}
///////////定义日期时间函数
function get_time()
{
$nowtime=date("h:i:s",time());
return $nowtime;
}
function get_date()
{
$nowdate=date("Y-m-d",time());
return $nowdate;
}
//////////////////翻页函数
function turn_page($page,$pages)
{
$nextpage=$page+1;
$rewpage=$page-1;
if($pages=="0")
{
$detail="当前没有添加信息!";
}
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;
}
//以下四个函数来源于Discuz,版权属于Discuz//判断IP地理位置函数
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地理位置结束
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;
}
//后台获取模板文件函数
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('非法操作,请返回.....','');
}
}
//显示信息函数
function showmsg($msg,$url){
if(empty($url)) $url="javascript:history.go(-1);";
else $url="window.location.href='$url';";
include_once getpl('msg');
}
//上传函数
function upload(){
global $path;
if(!is_dir("$path")) return "0";//目标文件夹不存在
$file_name=$_FILES['attachment']['name'];
$rename=time()._.basename($_FILES['attachment']['name']);
$type="rar|jpg|gif|mp3|wma";//设置允许文件类型
if(!eregi("\.($type)$",$rename)) return "0";//类型不被允许
if(file_exists("$path/$rename")) return "0";//文件已经存在
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";//未知错误,服务器不允许上传,文件大小超过PHP设置……
}
}
?>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -