common.func.php
来自「这是matlab的一个小程序」· PHP 代码 · 共 862 行 · 第 1/2 页
PHP
862 行
$rmsg .= "<br/><br/></div>\");\r\n";
}
$msg = $htmlhead.$rmsg.$htmlfoot;
}
echo $msg;
}
function ExecTime()
{
$time = explode(" ", microtime());
$usec = (double)$time[0];
$sec = (double)$time[1];
return $sec + $usec;
}
function GetEditor($fname,$fvalue,$nheight="350",$etype="Basic",$gtype="print",$isfullpage="false")
{
if(!function_exists('SpGetEditor'))
{
require_once(DEDEINC."/inc/inc_fun_funAdmin.php");
}
return SpGetEditor($fname,$fvalue,$nheight,$etype,$gtype,$isfullpage);
}
function GetTemplets($filename)
{
if(file_exists($filename))
{
$fp = fopen($filename,"r");
$rstr = fread($fp,filesize($filename));
fclose($fp);
return $rstr;
}
else
{
return '';
}
}
function GetSysTemplets($filename)
{
return GetTemplets($GLOBALS['cfg_basedir'].$GLOBALS['cfg_templets_dir'].'/system/'.$filename);
}
function AttDef($oldvar,$nv)
{
return empty($oldvar) ? $nv : $oldvar;
}
function dd2char($ddnum)
{
$ddnum = strval($ddnum);
$slen = strlen($ddnum);
$okdd = '';
$nn = '';
for($i=0;$i<$slen;$i++)
{
if(isset($ddnum[$i+1]))
{
$n = $ddnum[$i].$ddnum[$i+1];
if( ($n>96 && $n<123) || ($n>64 && $n<91) )
{
$okdd .= chr($n);
$i++;
}
else
{
$okdd .= $ddnum[$i];
}
}
else
{
$okdd .= $ddnum[$i];
}
}
return $okdd;
}
function PutCookie($key,$value,$kptime=0,$pa="/")
{
global $cfg_cookie_encode;
setcookie($key,$value,time()+$kptime,$pa);
setcookie($key.'__ckMd5',substr(md5($cfg_cookie_encode.$value),0,16),time()+$kptime,$pa);
}
function DropCookie($key)
{
setcookie($key,'',time()-360000,"/");
setcookie($key.'__ckMd5','',time()-360000,"/");
}
function GetCookie($key)
{
global $cfg_cookie_encode;
if( !isset($_COOKIE[$key]) || !isset($_COOKIE[$key.'__ckMd5']) )
{
return '';
}
else
{
if($_COOKIE[$key.'__ckMd5']!=substr(md5($cfg_cookie_encode.$_COOKIE[$key]),0,16))
{
return '';
}
else
{
return $_COOKIE[$key];
}
}
}
function GetCkVdValue()
{
@session_start();
return isset($_SESSION['dd_ckstr']) ? $_SESSION['dd_ckstr'] : '';
}
//php某些版本有Bug,不能在同一作用域中同时读session并改注销它,因此调用后需执行本函数
function ResetVdValue()
{
@session_start();
$_SESSION['dd_ckstr'] = '';
$_SESSION['dd_ckstr_last'] = '';
}
function FtpMkdir($truepath,$mmode,$isMkdir=true)
{
global $cfg_basedir,$cfg_ftp_root,$g_ftpLink;
OpenFtp();
$ftproot = ereg_replace($cfg_ftp_root.'$','',$cfg_basedir);
$mdir = ereg_replace('^'.$ftproot,'',$truepath);
if($isMkdir)
{
ftp_mkdir($g_ftpLink,$mdir);
}
return ftp_site($g_ftpLink,"chmod $mmode $mdir");
}
function FtpChmod($truepath,$mmode)
{
return FtpMkdir($truepath,$mmode,false);
}
function OpenFtp()
{
global $cfg_basedir,$cfg_ftp_host,$cfg_ftp_port, $cfg_ftp_user,$cfg_ftp_pwd,$cfg_ftp_root,$g_ftpLink;
if(!$g_ftpLink)
{
if($cfg_ftp_host=='')
{
echo "由于你的站点的PHP配置存在限制,程序尝试用FTP进行目录操作,你必须在后台指定FTP相关的变量!";
exit();
}
$g_ftpLink = ftp_connect($cfg_ftp_host,$cfg_ftp_port);
if(!$g_ftpLink)
{
echo "连接FTP失败!";
exit();
}
if(!ftp_login($g_ftpLink,$cfg_ftp_user,$cfg_ftp_pwd))
{
echo "登陆FTP失败!";
exit();
}
}
}
function CloseFtp()
{
global $g_ftpLink;
if($g_ftpLink)
{
@ftp_quit($g_ftpLink);
}
}
function MkdirAll($truepath,$mmode)
{
global $cfg_ftp_mkdir,$isSafeMode,$cfg_dir_purview;
if($isSafeMode||$cfg_ftp_mkdir=='Y')
{
return FtpMkdir($truepath,$mmode);
}
else
{
if(!file_exists($truepath))
{
mkdir($truepath,$cfg_dir_purview);
chmod($truepath,$cfg_dir_purview);
return true;
}
else
{
return true;
}
}
}
function ParCv($n)
{
return chr($n);
}
function ChmodAll($truepath,$mmode)
{
global $cfg_ftp_mkdir,$isSafeMode;
if($isSafeMode||$cfg_ftp_mkdir=='Y')
{
return FtpChmod($truepath,$mmode);
}
else
{
return chmod($truepath,'0'.$mmode);
}
}
function CreateDir($spath)
{
if(!function_exists('SpCreateDir'))
{
require_once(DEDEINC.'/inc/inc_fun_funAdmin.php');
}
return SpCreateDir($spath);
}
// $rptype = 0 表示仅替换 html标记
// $rptype = 1 表示替换 html标记同时去除连续空白字符
// $rptype = 2 表示替换 html标记同时去除所有空白字符
// $rptype = -1 表示仅替换 html危险的标记
function HtmlReplace($str,$rptype=0)
{
$str = stripslashes($str);
if($rptype==0)
{
$str = htmlspecialchars($str);
}
else if($rptype==1)
{
$str = htmlspecialchars($str);
$str = str_replace(" ",' ',$str);
$str = ereg_replace("[\r\n\t ]{1,}",' ',$str);
}
else if($rptype==2)
{
$str = htmlspecialchars($str);
$str = str_replace(" ",'',$str);
$str = ereg_replace("[\r\n\t ]",'',$str);
}
else
{
$str = ereg_replace("[\r\n\t ]{1,}",' ',$str);
$str = eregi_replace('script','script',$str);
$str = eregi_replace("<[/]{0,1}(link|meta|ifr|fra)[^>]*>",'',$str);
}
return addslashes($str);
}
//获得某文档的所有tag
function GetTags($aid)
{
global $dsql;
$tags = '';
$query = "Select tag From `#@__taglist` where aid='$aid' ";
$dsql->Execute('tag',$query);
while($row = $dsql->GetArray('tag'))
{
$tags .= ($tags=='' ? $row['tag'] : ','.$row['tag']);
}
return $tags;
}
function ParamError()
{
ShowMsg('对不起,你输入的参数有误!','javascript:;');
exit();
}
//过滤用于搜索的字符串
function FilterSearch($keyword)
{
global $cfg_soft_lang;
if($cfg_soft_lang=='utf-8')
{
$keyword = ereg_replace("[ \"\r\n\t\$\\><']",'',$keyword);
if($keyword != stripslashes($keyword))
{
return '';
}
else
{
return $keyword;
}
}
else
{
$restr = '';
for($i=0;isset($keyword[$i]);$i++)
{
if(ord($keyword[$i]) > 0x80)
{
if(isset($keyword[$i+1]) && ord($keyword[$i+1]) > 0x40)
{
$restr .= $keyword[$i].$keyword[$i+1];
$i++;
}
else
{
$restr .= ' ';
}
}
else
{
if(eregi("[^0-9a-z@#\.]",$keyword[$i]))
{
$restr .= ' ';
}
else
{
$restr .= $keyword[$i];
}
}
}
}
return $restr;
}
//处理禁用HTML但允许换行的内容
function TrimMsg($msg)
{
$msg = trim(stripslashes($msg));
$msg = nl2br(htmlspecialchars($msg));
$msg = str_replace(" "," ",$msg);
return addslashes($msg);
}
//获取单篇文档信息
function GetOneArchive($aid)
{
global $dsql;
include_once(DEDEINC."/channelunit.func.php");
$aid = trim(ereg_replace('[^0-9]','',$aid));
$reArr = array();
$chRow = $dsql->GetOne("Select arc.*,ch.maintable,ch.addtable,ch.issystem From `#@__arctiny` arc left join `#@__channeltype` ch on ch.id=arc.channel where arc.id='$aid' ");
if(!is_array($chRow)) {
return $reArr;
}
else {
if(empty($chRow['maintable'])) $chRow['maintable'] = '#@__archives';
}
if($chRow['issystem']!=-1)
{
$nquery = " Select arc.*,tp.typedir,tp.topid,tp.namerule,tp.moresite,tp.siteurl,tp.sitepath
From `{$chRow['maintable']}` arc left join `#@__arctype` tp on tp.id=arc.typeid
where arc.id='$aid' ";
}
else
{
$nquery = " Select arc.*,1 as ismake,0 as money,'' as filename,tp.typedir,tp.topid,tp.namerule,tp.moresite,tp.siteurl,tp.sitepath
From `{$chRow['addtable']}` arc left join `#@__arctype` tp on tp.id=arc.typeid
where arc.aid='$aid' ";
}
$arcRow = $dsql->GetOne($nquery);
if(!is_array($arcRow)) {
return $reArr;
}
if(!isset($arcRow['description'])) {
$arcRow['description'] = '';
}
if(empty($arcRow['description']) && isset($arcRow['body'])) {
$arcRow['description'] = cn_substr(html2text($arcRow['body']),250);
}
if(!isset($arcRow['pubdate'])) {
$arcRow['pubdate'] = $arcRow['senddate'];
}
if(!isset($arcRow['notpost'])) {
$arcRow['notpost'] = 0;
}
$reArr = $arcRow;
$reArr['aid'] = $aid;
$reArr['topid'] = $arcRow['topid'];
$reArr['arctitle'] = $arcRow['title'];
$reArr['arcurl'] = GetFileUrl($aid,$arcRow['typeid'],$arcRow['senddate'],$reArr['title'],$arcRow['ismake'],$arcRow['arcrank'],$arcRow['namerule'],
$arcRow['typedir'],$arcRow['money'],$arcRow['filename'],$arcRow['moresite'],$arcRow['siteurl'],$arcRow['sitepath']);
return $reArr;
}
/**
* 获取模型的表信息
*
* @param int $id
* @param string $formtype
* @return array
*/
function GetChannelTable($id,$formtype='channel')
{
global $dsql;
if($formtype == 'archive')
{
$query = "select ch.maintable, ch.addtable from #@__arctiny tin left join #@__channeltype ch on ch.id=tin.channel where tin.id='$id'";
}
elseif($formtype == 'typeid')
{
$query = "select ch.maintable, ch.addtable from #@__arctype act left join #@__channeltype ch on ch.id=act.channeltype where act.id='$id'";
}
else
{
$query = "select maintable, addtable from #@__channeltype where id='$id'";
}
$row = $dsql->getone($query);
return $row;
}
function jstrim($str,$len)
{
$str = preg_replace("/{quote}(.*){\/quote}/is",'',$str);
$str = str_replace('<br/>',' ',$str);
$str = cn_substr($str,$len);
$str = ereg_replace("['\"\r\n]","",$str);
return $str;
}
?>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?