分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 运营维护

globle.function.php

发布时间:2023-09-06 01:35责任编辑:顾先生关键词:暂无标签

<?php

/*
* 所有公共函数文件
*/

/*
* 序列化
*/
function _serialize($obj){
return base64_encode(gzcompress(serialize($obj)));
}
/*
* 反序列化
*/
function _unserialize($txt){
return unserialize(gzuncompress(base64_decode($txt)));
}
/*
* 获取彩票信息
*/
function getcaipiao(){
// include(‘/system/libs/model.class.php‘);
$model = new model();
$file = ‘./memory/ssc.txt‘;
if (!is_file($file) || time()-filemtime($file) >= 600 ||
file_get_contents($file) == ‘||‘ || file_get_contents($file) == ‘‘) {
$ssc = json_decode(file_get_contents(‘http://f.apiplus.cn/cqssc-1.json‘), true);
$ssc = $ssc[‘data‘][0];
$ssc_str = $ssc[‘opentime‘].‘|‘.preg_replace("/^(\d{8})(\d{3})$/", "$1-$2", $ssc[‘expect‘]).‘|‘.str_replace(‘,‘, ‘‘, $ssc[‘opencode‘]).‘|‘.$ssc[‘opentimestamp‘];
$date = preg_replace("/^(\d{8})(\d{3})$/", "$1-$2", $ssc[‘expect‘]);
$haoma = str_replace(‘,‘, ‘‘, $ssc[‘opencode‘]);
$time = $ssc[‘opentimestamp‘];
$result = $model->Query("select id from `@#_shishi_1` where time = ‘$time‘");

if (!$result) {
$model->Query("INSERT INTO `@#_shishi_1`(`qishu`,`haoma`,`time`) VALUES (‘$date‘,‘$haoma‘,‘$time‘)");
}
file_put_contents($file, $ssc_str, LOCK_EX);
$open_unix_time = $ssc[‘opentimestamp‘] / 1000;
$touch_time = $open_unix_time + floor((time() - $open_unix_time) / 600) * 600;
touch($file, $touch_time);

} else {
$ssc_str = file_get_contents($file);
}
return $ssc_str;
}

//生成日志文件
function putContent($text,$param){
file_put_contents(G_APP_PATH."system\modules\LOG\‘".$text.‘.txt‘, $param,FILE_APPEND);
}
//判断变量值是否为空
function isnull($param){
$param = $param!=null?$param:‘‘;
return $param;
}

// 获取文件夹大小
function getDirSize($dir)
{
$handle = opendir($dir);
while (false!==($FolderOrFile = readdir($handle)))
{
if($FolderOrFile != "." && $FolderOrFile != "..")
{
if(is_dir("$dir/$FolderOrFile"))
{
$sizeResult += getDirSize("$dir/$FolderOrFile");
}
else
{
$sizeResult += filesize("$dir/$FolderOrFile");
}
}
}
closedir($handle);
return $sizeResult;
}

function getnull($arr){
if(is_array($arr)){
foreach($arr as $key=>$val){
if(is_array($val)){
$arr[$key] = getnull($val);
}else{
$arr[$key] = is_null($arr[$key])?‘‘:$arr[$key];
$arr[$key] = is_string($arr[$key])?$arr[$key]:"{$arr[$key]}";
}
}
} else {
$arr = $arr == null?‘‘:$arr;
$arr = is_string($arr)?$arr:"$arr";
}
return $arr;
}

/**
* PHP 版本判断
*
**/
function is_php($version = ‘5.0.0‘){
static $_is_php;
$version = (string)$version;

if ( ! isset($_is_php[$version]))
{
$_is_php[$version] = (version_compare(PHP_VERSION, $version) < 0) ? FALSE : TRUE;
}

return $_is_php[$version];
}
//判断用户存在
function isUsername($username,$uid){
// include(‘/system/libs/model.class.php‘)
if ($uid) {
$where = "`username` = ‘$username‘ and `uid` != ‘$uid‘";
} else {
$where = "`username` = ‘$username‘";
}
$model = new model();
$result = $model -> GetOne("select uid from `@#_member` where $where");
return $result;
}
//判断手机号码是否注册
function isMobile($mobile,$uid){
$model = new model();
$result = $model->GetOne("select uid from `@#_member` where `mobile` = ‘$mobile‘ and `uid` != ‘$uid‘");
return $result;
}
/**
* ajax封装类
*
**/
function ajaxRetrun($code,$msg=‘‘,$data=array(),$count=‘‘,$number=‘‘,$is_room=‘‘,$title=‘‘){
$result=array(
‘code‘=>$code,
‘msg‘=>$msg,
‘data‘=>$data,
‘count‘=>$count,
‘number‘=>$number,
‘is_room‘=>$is_room,
‘title‘=>$title
);
$arr = json_encode($result);
echo str_replace(‘\/‘, ‘/‘, $arr);
exit;
}
function ajaxBack($code,$msg=‘‘,$data=array(),$count=‘‘){
$result=array(
‘code‘=>$code,
‘msg‘=>$msg,
‘data‘=>$data,
‘count‘=>$count
);
$arr = json_encode($result);

echo str_replace(‘\/‘, ‘/‘, $arr);
exit;
}
function zhaunhuan($arr){
if(is_array($arr)){
foreach($arr as $key=>$val){
if (is_array($val)) {
$arr[$key] = zhaunhuan($val);
} else {
$arr[$key] = urlencode($val);
}
}
}else{
$arr = urlencode($arr);
}
return $arr;
}
function returnAjax($code,$msg,$data=array(),$count=‘‘){
$result=array(
‘code‘=>$code,
‘msg‘=>$msg,
‘data‘=>$data,
‘count‘=>$count
);
$data = zhaunhuan($result);
$arr = urldecode(json_encode($data));

// $search = "#\\\u([0-9a-f]+)#ie";
// $replace = "iconv(‘UCS-2‘, ‘UTF-8‘, pack(‘H4‘, ‘\\1‘))";
// $ar = preg_replace($search, $replace, $arr);

echo str_replace(‘\/‘, ‘/‘, $arr);
exit;
}
/**
* 返回经addslashes处理过的字符串或数组
* @param $string 需要处理的字符串或数组
* @return mixed
*/
function new_addslashes($string){

if(!is_array($string)) return addslashes($string);
foreach($string as $key => $val) $string[$key] = new_addslashes($val);
return $string;
}

/*数组转字符串*/
function Array2String($Array){
if(!$Array)return false;
$Return=‘‘;
$NullValue="^^^";
foreach ($Array as $Key => $Value) {
if(is_array($Value))
$ReturnValue=‘^^array^‘.Array2String($Value);
else
$ReturnValue=(strlen($Value)>0)?$Value:$NullValue;
$Return.=urlencode(base64_encode($Key)) . ‘|‘ . urlencode(base64_encode($ReturnValue)).‘||‘;
}
return urlencode(substr($Return,0,-2));
}

/*字符串转数组*/
function String2Array($String){
if(NULL==$String)return false;
$Return=array();
$String=urldecode($String);
$TempArray=explode(‘||‘,$String);
$NullValue=urlencode(base64_encode("^^^"));
foreach ($TempArray as $TempValue) {
list($Key,$Value)=explode(‘|‘,$TempValue);
$DecodedKey=base64_decode(urldecode($Key));
if($Value!=$NullValue) {
$ReturnValue=base64_decode(urldecode($Value));
if(substr($ReturnValue,0,8)==‘^^array^‘)
$ReturnValue=String2Array(substr($ReturnValue,8));
$Return[$DecodedKey]=$ReturnValue;
}
else
$Return[$DecodedKey]=NULL;
}
return $Return;
}

/*字符过滤url*/
function safe_replace($string) {
$string = str_replace(‘%20‘,‘‘,$string);
$string = str_replace(‘%27‘,‘‘,$string);
$string = str_replace(‘%2527‘,‘‘,$string);
$string = str_replace(‘*‘,‘‘,$string);
$string = str_replace(‘"‘,‘&quot;‘,$string);
$string = str_replace("‘",‘‘,$string);
$string = str_replace(‘"‘,‘‘,$string);
$string = str_replace(‘;‘,‘‘,$string);
$string = str_replace(‘<‘,‘&lt;‘,$string);
$string = str_replace(‘>‘,‘&gt;‘,$string);
$string = str_replace("{",‘‘,$string);
$string = str_replace(‘}‘,‘‘,$string);
$string = str_replace(‘\\‘,‘‘,$string);
return $string;
}
/*获取页面完整url*/
function get_web_url() {
$sys_protocal = isset($_SERVER[‘SERVER_PORT‘]) && $_SERVER[‘SERVER_PORT‘] == ‘443‘ ? ‘https://‘ : ‘http://‘;
$php_self = $_SERVER[‘PHP_SELF‘] ? safe_replace($_SERVER[‘PHP_SELF‘]) : safe_replace($_SERVER[‘SCRIPT_NAME‘]);
$path_info = isset($_SERVER[‘PATH_INFO‘]) ? safe_replace($_SERVER[‘PATH_INFO‘]) : ‘‘;
$relate_url = isset($_SERVER[‘REQUEST_URI‘]) ? safe_replace($_SERVER[‘REQUEST_URI‘]) : $php_self.(isset($_SERVER[‘QUERY_STRING‘]) ? ‘?‘.safe_replace($_SERVER[‘QUERY_STRING‘]) : $path_info);
return $sys_protocal.(isset($_SERVER[‘HTTP_HOST‘]) ? $_SERVER[‘HTTP_HOST‘] : ‘‘).$relate_url;
}

/*获取网站当前地址*/
function get_home_url() {
$sys_protocal = isset($_SERVER[‘SERVER_PORT‘]) && $_SERVER[‘SERVER_PORT‘] == ‘443‘ ? ‘https://‘ : ‘http://‘;
$path=explode(‘/‘,safe_replace($_SERVER[‘SCRIPT_NAME‘]));
if(count($path)==3){
return $sys_protocal.$_SERVER[‘HTTP_HOST‘].‘/‘.$path[1];
}
if(count($path)==2){
return $sys_protocal.$_SERVER[‘HTTP_HOST‘];
}
}


/*HTML安全过滤*/
function _htmtocode($content) {
$content = str_replace(‘%‘,‘%&lrm;‘,$content);
$content = str_replace("<", "&lt;", $content);
$content = str_replace(">", "&gt;", $content);
$content = str_replace("\n", "<br/>", $content);
$content = str_replace(" ", "&nbsp;", $content);
$content = str_replace(‘"‘, "&quot;", $content);
$content = str_replace("‘", "&#039;", $content);
$content = str_replace("$", "&#36;", $content);
$content = str_replace(‘}‘,‘&rlm;}‘,$content);
return $content;
}

/*手机号码验证*/
function _checkmobile($mobilephone=‘‘){
if(strlen($mobilephone)!=11){ return false; }
if(preg_match("/^13[0-9]{1}[0-9]{8}$|15[0-9]{1}[0-9]{8}$|14[0-9]{1}[0-9]{8}$|18[0-9]{1}[0-9]{8}$|17[0|7|6|8]{1}[0-9]{8}$/",$mobilephone)){
return true;
}else{
return false;
}
}

/*邮箱验证*/
function _checkemail($email=‘‘){
if(mb_strlen($email)<5){
return false;
}
$res="/^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/";
if(preg_match($res,$email)){
return true;
}else{
return false;
}
}
/*加密解密 ENCODE 加密 DECODE 解密*/
function _encrypt($string, $operation = ‘ENCODE‘, $key = ‘‘, $expiry = 0){
if($operation == ‘DECODE‘) {
$string = str_replace(‘_‘, ‘/‘, $string);
}
$key_length = 4;
if(defined("G_BANBEN_NUMBER")){
$key = md5($key != ‘‘ ? $key : System::load_sys_config("code","code"));
}else{
$key = md5($key != ‘‘ ? $key : G_WEB_PATH);
}
$fixedkey = md5($key);
$egiskeys = md5(substr($fixedkey, 16, 16));
$runtokey = $key_length ? ($operation == ‘ENCODE‘ ? substr(md5(microtime(true)), -$key_length) : substr($string, 0, $key_length)) : ‘‘;
$keys = md5(substr($runtokey, 0, 16) . substr($fixedkey, 0, 16) . substr($runtokey, 16) . substr($fixedkey, 16));
$string = $operation == ‘ENCODE‘ ? sprintf(‘%010d‘, $expiry ? $expiry + time() : 0).substr(md5($string.$egiskeys), 0, 16) . $string : base64_decode(substr($string, $key_length));

$i = 0; $result = ‘‘;
$string_length = strlen($string);
for ($i = 0; $i < $string_length; $i++){
$result .= chr(ord($string{$i}) ^ ord($keys{$i % 32}));
}
if($operation == ‘ENCODE‘) {
$retstrs = str_replace(‘=‘, ‘‘, base64_encode($result));
$retstrs = str_replace(‘/‘, ‘_‘, $retstrs);
return $runtokey.$retstrs;
} else {
if((substr($result, 0, 10) == 0 || substr($result, 0, 10) - time() > 0) && substr($result, 10, 16) == substr(md5(substr($result, 26).$egiskeys), 0, 16)) {
return substr($result, 26);
} else {
return ‘‘;
}
}
}


function _getcookie($name){
if(empty($name)){return false;}
if(isset($_COOKIE[$name])){
return $_COOKIE[$name];
}else{
return false;
}
}

function _setcookie($name,$value,$time=0,$path=‘/‘,$domain=‘‘){
if(empty($name)){return false;}
$_COOKIE[$name]=$value; //及时生效
$s = $_SERVER[‘SERVER_PORT‘] == ‘443‘ ? 1 : 0;
if(!$time){
return setcookie($name,$value,0,$path,$domain,$s);
}else{
return setcookie($name,$value,time()+$time,$path,$domain,$s);
}
}


/*
*获取字符串长度
*一个汉字2个字节,字符1个字节
*/
function _strlen($str=‘‘){
if(empty($str)){
return 0;
}
if(!_is_utf8($str)){
$str=iconv("GBK","UTF-8",$str);
}
return ceil((strlen($str)+mb_strlen($str,‘utf-8‘))/2);
}


/*
* 调用模板函数
* $module 模板目录
* $template 模板文件名,
* $StyleTheme 模板方案目录,为空为默认目录
*/

function templates($module = ‘‘, $template = ‘‘,$StyleTheme=‘‘){
if(empty($StyleTheme)){$style=G_STYLE.DIRECTORY_SEPARATOR.G_STYLE_HTML;}
else{
$templates=System::load_sys_config(‘templates‘,$style);
$style=$templates[‘dir‘].DIRECTORY_SEPARATOR.$templates[‘html‘];
}
$FileTpl = G_CACHES.‘caches_template‘.DIRECTORY_SEPARATOR.dirname($style).DIRECTORY_SEPARATOR.md5($module.‘.‘.$template).‘.tpl.php‘;
$FileHtml = G_TEMPLATES.$style.DIRECTORY_SEPARATOR.$module.‘.‘.$template.‘.html‘;
if(file_exists($FileHtml)){
if (file_exists($FileTpl) && @filemtime($FileTpl) >= @filemtime($FileHtml)) {
return $FileTpl;
} else {
$template_cache=&System::load_sys_class(‘template_cache‘);
if(!is_dir(dirname(dirname($FileTpl)))){
mkdir(dirname(dirname($FileTpl)),0777, true)or die("Not Dir");
chmod(dirname(dirname($FileTpl)),0777);
}
if(!is_dir(dirname($FileTpl))){
mkdir(dirname($FileTpl), 0777, true)or die("Not Dir");
chmod(dirname($FileTpl),0777);
}
$PutFileTpl=$template_cache->template_init($FileTpl,$FileHtml,$module,$template);
if($PutFileTpl)
return $FileTpl;
else
_error(‘template message‘,‘The "‘.$module.‘.‘.$template .‘" template file does not exist‘);
}
}
_error(‘template message‘,‘The "‘.$module.‘.‘.$template .‘" template file does not exist‘);

}

/**
* 字符截取 支持UTF8/GBK
* @param $string
* @param $length
* @param $dot
*/
function _strcut($string, $length,$dot = ‘...‘) {
$string = trim($string);
if($length && strlen($string) > $length) {
//截断字符
$wordscut = ‘‘;
if(strtolower(G_CHARSET) == ‘utf-8‘) {
//utf8编码
$n = 0;
$tn = 0;
$noc = 0;
while ($n < strlen($string)) {
$t = ord($string[$n]);
if($t == 9 || $t == 10 || (32 <= $t && $t <= 126)) {
$tn = 1;
$n++;
$noc++;
} elseif(194 <= $t && $t <= 223) {
$tn = 2;
$n += 2;
$noc += 2;
} elseif(224 <= $t && $t < 239) {
$tn = 3;
$n += 3;
$noc += 2;
} elseif(240 <= $t && $t <= 247) {
$tn = 4;
$n += 4;
$noc += 2;
} elseif(248 <= $t && $t <= 251) {
$tn = 5;
$n += 5;
$noc += 2;
} elseif($t == 252 || $t == 253) {
$tn = 6;
$n += 6;
$noc += 2;
} else {
$n++;
}
if ($noc >= $length) {
break;
}
}
if ($noc > $length) {
$n -= $tn;
}
$wordscut = substr($string, 0, $n);
} else {
for($i = 0; $i < $length - 1; $i++) {
if(ord($string[$i]) > 127) {
$wordscut .= $string[$i].$string[$i + 1];
$i++;
&

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved