ip = $this->getclientip();
$this->host = isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : '' ;
if($this->host && substr($this->host,-3)==':80')$this->host = str_replace(':80', '', $this->host);
$this->url = '';
$this->isqywx = false;
$this->win = php_uname();
$this->HTTPweb = isset($_SERVER['HTTP_USER_AGENT'])? $_SERVER['HTTP_USER_AGENT'] : '' ;
$this->web = $this->getbrowser();
$this->unarr = explode(',','1,2');
$this->now = $this->now();
$this->date = date('Y-m-d');
$this->lvlaras = explode(',','select ,
alter table,delete ,drop ,update ,insert into,load_file,/*,*/,union,';
}
/**
全角半角转换
*/
public function replace($str,$quantoban=true)
{
$search=array('0','1','2','3','4','5','6','7','8','9',',','.','?','\'','(',')',';','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z');
$replace=array('0','1','2','3','4','5','6','7','8','9',',','。','?','’','(',')',';','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','Z','Y','Z');
if($quantoban){
$str=str_replace($replace,$search,$str);
}else{
$str=str_replace($search,$replace,$str);
}
return $str;
}
/**
过滤特殊符合
*/
public function repmark($str)
{
$search=array('select','delete','join','inner','outer');
$str=strtolower($str);//转为小写
$str=str_replace($search,'',$str);
return $str;
}
/**
html编码
*/
public function htmlescape($str)
{
$str = htmlspecialchars($str);
return $str;
}
/**
小数点位数
*/
public function number($num,$w=2)
{
if(!$num)$num='0';
return number_format($num,$w,'.','');
}
/**
是否包含返回bool
*/
public function contain($str,$a)
{
$bool=false;
if(!$this->isempt($a) && !$this->isempt($str)){
$ad=strpos($str,$a);
if($ad>0||!is_bool($ad))$bool=true;
}
return $bool;
}
/**
将'转换'
*/
public function covexec($str)
{
$dt = date('Y-m-d');
$str = str_replace(
array(''', ''','[F]', '[X]', '[K]', '[A]', '[D]', '[adminid]', '[date]', '{adminid}', '{date}','[H1]','[H2]','ing;'),
array('\'', '\'', '\'', '\\', ' ', 'and', '=', $this->adminid, $dt, $this->adminid, $dt,'{','}','*'),
$str
);
return $str;
}
//判断是否为空
public function isempt($str)
{
$bool=false;
if( ($str==''||$str==NULL||empty($str)) && (!is_numeric($str)) )$bool=true;
return $bool;
}
/**
地址
*/
public function rewrite($m,$a,$s)
{
$url = '';
if(REWRITE=='true'){
$url = ''.$m.'';
if($a == '' && $s == ''){
$url = ''.$url.'.html';
}elseif($a == ''){
$url = ''.$url.'_'.$s.'.html';
}else{
$url = ''.$url.'_'.$a.'_'.$s.'_a.html';
}
}else{
$url = 'index.php?m='.$m.'';
if($a != '')$url.='&a='.$a.'';
if($s != '')$url.='&s='.$s.'';
}
return $url;
}
//设置所有的GET方法
public function setallcan($rep=4)
{
foreach($_GET as $key=>$val)$GLOBALS['get_'.$key]=$this->get($key,'',0);
foreach($_POST as $key=>$val)$GLOBALS['post_'.$key]=$this->post($key,'',0);
}
/**
如果字符为空,使用默认的
*/
public function repempt($str,$dev='')
{
$s = $str;
if($this->isempt($s))$s=$dev;
return $s;
}
//返回文件大小
public function formatsize($size)
{
$arr = array('Byte', 'KB', 'MB', 'GB', 'TB', 'PB');
if($size == 0)return '0';
$e = floor(log($size)/log(1024));
return number_format(($size/pow(1024,floor($e))),2,'.','').' '.$arr[$e];
}
/**
采集字符串截取
*/
public function getcai($content,$start,$end)
{
$geju = strpos($content,$start);
if($geju===false){
$cont1='';
}else{
$stard = $geju+strlen($start);
$cont1 = substr($content,$stard);
$endd = strpos($cont1,$end);
$cont1 = substr($cont1,0,$endd);
$cont1 = trim($cont1);
}
return $cont1;
}
/**
* 写入文件
*/
public function createtxt($path, $txt)
{
$this->createdir($path);
$path = ''.ROOT_PATH.'/'.$path.'';
@$file = fopen($path,'w');
$bo = false;
if($file){
$bo = true;
if($txt)$bo = fwrite($file,$txt);
fclose($file);
}
return $bo;
}
/**
* 创建文件夹
*/
public function createdir($path, $oi=1)
{
$zpath = explode('/', $path);
$len = count($zpath);
$mkdir = '';
for($i=0; $i<$len-$oi; $i++){
if(!isempt($zpath[$i])){
$mkdir.='/'.$zpath[$i].'';
$wzdir = ROOT_PATH.''.$mkdir;
if(!is_dir($wzdir)){
mkdir($wzdir);
}
}
}
}
public function stringformat($str, $arr=array())
{
$s = $str;
for($i=0; $istringformat($str, $arr);
return $s;
}
public function T($n)
{
return PREFIX.''.$n;
}
public function reparr($str, $arr=array())
{
if($this->isempt($str))return '';
preg_match_all('/\{(.*?)\}/', $str, $list);
$s = $str;
foreach($list[1] as $k=>$nrs){
$nts = '';
if(isset($arr[$nrs]))$nts = $arr[$nrs];
$s = str_replace('{'.$nrs.'}', $nts, $s);
}
return $s;
}
/**
字段中包含
*/
public function dbinstr($fiekd, $str, $spl1=',', $spl2=',')
{
return "instr(concat('$spl1', $fiekd, '$spl2'), '".$spl1.$str.$spl2."')>0";
}
public function debugs($str, $lxs='')
{
if(!DEBUG)return;
if(is_array($str))$str = json_encode($str, JSON_UNESCAPED_UNICODE);
$msg = '['.$this->now.']:'.$this->nowurl().''.chr(10).''.$str.'';
$mkdir = ''.UPDIR.'/logs/'.date('Y-m').'';
$this->createtxt(''.$mkdir.'/'.$lxs.''.date('Y-m-d.H.i.s').'_'.str_shuffle('abcdefghijklmn').'.log', $msg);
}
public function arrvalue($arr, $k, $dev='')
{
$val = $dev;
if(isset($arr[$k]))$val= $arr[$k];
return $val;
}
/*
* 获取当前访问全部url
*/
public function nowurl()
{
if(!isset($_SERVER['HTTP_HOST']))return '';
$qz = 'http';
if($_SERVER['SERVER_PORT']==443)$qz='https';
$url = ''.$qz.'://'.$_SERVER['HTTP_HOST'];
if(isset($_SERVER['REQUEST_URI']))$url.= $_SERVER['REQUEST_URI'];
return $url;
}
/**
* 获取当前访问URL地址
*/
public function url()
{
$url = $this->nowurl();
$wz = strrpos($url,'/');
return substr($url,0, $wz+1);
}
/**
* 匹配
*/
public function matcharr($str, $lx=0)
{
$match = '/\{(.*?)\}/';
if($lx==1)$match = '/\[(.*?)\]/';
if($lx==2)$match = '/\`(.*?)\`/';
if($lx==3)$match = '/\#(.*?)\#/';
preg_match_all($match, $str, $list);
$barr = array();
foreach($list[1] as $k=>$nrs){
$barr[] = $nrs;
}
return $barr;
}
/**
* 函数参数转为key
*/
public function getfunkey($arr=array(),$qz='a')
{
$s = '';
foreach($arr as $k=>$v)$s.='_'.$v.'';
$s = ''.$qz.''.$s.'';
return $s;
}
/**
* 获取外网地址
*/
public function getouturl($dz='')
{
if($dz=='')$dz = URL;
$xurl = URL;
$xurl1 = getconfig('outurl');
if(!isempt($xurl1))$xurl = $xurl1;
if(substr($xurl,-1)!='/')$xurl.='/';
return $xurl;
}
/**
* 一个完整绝对路径
*/
public function gethttppath($path, $url='', $dev='')
{
if($url=='')$url = URL;
if(isempt($path))return $dev;
if(contain($path, '{FILEURL}')){
$platurl = getconfig('rockfile_url');
if(substr($platurl,-1)!='/')$platurl.='/';
$path = str_replace('{FILEURL}',$platurl,$path);
}
if(substr($path,0,4)!='http')$path = ''.$url.''.$path.'';
return $path;
}
/**
* 根据value获取name
*/
public function valtoname($arr, $val, $fid1='',$fid2='')
{
if($fid1=='')$fid1='value';
if($fid2=='')$fid2='name';
$nval = $val;
foreach($arr as $k=>$rs){
if($rs[$fid1]==$val){
$nval = $rs[$fid2];
break;
}
}
return $nval;
}
}