inc_archives_functions.php
来自「这是matlab的一个小程序」· PHP 代码 · 共 777 行 · 第 1/2 页
PHP
777 行
preg_match_all("/(src)=[\"|'| ]{0,}([^>]*\.(gif|jpg|bmp|png))/isU",$body,$img_array);
$img_array = array_unique($img_array[2]);
if(count($img_array)>0)
{
$picname = preg_replace("/[\"|'| ]{1,}/","",$img_array[0]);
if(ereg("_lit\.",$picname))
{
$litpic = $picname;
}
else
{
$litpic = GetDDImage('ddfirst',$picname,1);
}
}
return $litpic;
}
//获得缩略图
function GetDDImage($litpic,$picname,$isremote)
{
global $cuserLogin,$cfg_ddimg_width,$cfg_ddimg_height,$cfg_basedir,$ddcfg_image_dir;
$ntime = time();
if(($litpic!='none'||$litpic!='ddfirst') &&
!empty($_FILES[$litpic]['tmp_name']) &&
is_uploaded_file($_FILES[$litpic]['tmp_name']))
{
//如果用户自行上传缩略图
$istype = 0;
$sparr = Array("image/pjpeg","image/jpeg","image/gif","image/png");
$_FILES[$litpic]['type'] = strtolower(trim($_FILES[$litpic]['type']));
if(!in_array($_FILES[$litpic]['type'],$sparr))
{
ShowMsg("上传的图片格式错误,请使用JPEG、GIF、PNG格式的其中一种!","-1");
exit();
}
$savepath = $ddcfg_image_dir."/".MyDate("ymd",$ntime);
CreateDir($savepath);
$fullUrl = $savepath."/".dd2char(MyDate("His",$ntime).$cuserLogin->getUserID().mt_rand(1000,9999));
if(strtolower($_FILES[$litpic]['type'])=="image/gif")
{
$fullUrl = $fullUrl.".gif";
}
else if(strtolower($_FILES[$litpic]['type'])=="image/png")
{
$fullUrl = $fullUrl.".png";
}
else
{
$fullUrl = $fullUrl.".jpg";
}
@move_uploaded_file($_FILES[$litpic]['tmp_name'],$cfg_basedir.$fullUrl);
$litpic = $fullUrl;
@ImageResize($cfg_basedir.$fullUrl,$cfg_ddimg_width,$cfg_ddimg_height);
$img = $cfg_basedir.$litpic;
WaterImg($img,'up');
}
else
{
$picname = trim($picname);
if($isremote==1 && eregi("^http://",$picname))
{
$litpic = $picname;
$ddinfos = GetRemoteImage($litpic,$cuserLogin->getUserID());
if(!is_array($ddinfos))
{
$litpic = "";
}
else
{
$litpic = $ddinfos[0];
if($ddinfos[1] > $cfg_ddimg_width || $ddinfos[2] > $cfg_ddimg_height)
{
@ImageResize($cfg_basedir.$litpic,$cfg_ddimg_width,$cfg_ddimg_height);
}
}
}
else
{
if($litpic=='ddfirst' && !eregi("^http://",$picname))
{
$oldpic = $cfg_basedir.$picname;
$litpic = str_replace('.','_lit.',$picname);
@ImageResize($oldpic,$cfg_ddimg_width,$cfg_ddimg_height,$cfg_basedir.$litpic);
if(!is_file($cfg_basedir.$litpic)) $litpic = "";
}
else
{
$litpic = $picname;
return $litpic;
}
}
}
if($litpic=='litpic'||$litpic=='ddfirst')
{
$litpic = "";
}
return $litpic;
}
//获得一个附加表单
function GetFormItemA($ctag)
{
return GetFormItem($ctag,'admin');
}
//处理不同类型的数据
function GetFieldValueA($dvalue,$dtype,$aid=0,$job='add',$addvar='')
{
return GetFieldValue($dvalue,$dtype,$aid,$job,$addvar,'admin');
}
//获得带值的表单(编辑时用)
function GetFormItemValueA($ctag,$fvalue)
{
return GetFormItemValue($ctag,$fvalue,'admin');
}
//载入自定义表单(用于发布)
function PrintAutoFieldsAdd(&$fieldset,$loadtype='all')
{
$dtp = new DedeTagParse();
$dtp->SetNameSpace('field','<','>');
$dtp->LoadSource($fieldset);
$dede_addonfields = '';
if(is_array($dtp->CTags))
{
foreach($dtp->CTags as $tid=>$ctag)
{
if($loadtype!='autofield'
|| ($loadtype=='autofield' && $ctag->GetAtt('autofield')==1) )
{
$dede_addonfields .= ( $dede_addonfields=="" ? $ctag->GetName().",".$ctag->GetAtt('type') : ";".$ctag->GetName().",".$ctag->GetAtt('type') );
echo GetFormItemA($ctag);
}
}
}
echo "<input type='hidden' name='dede_addonfields' value=\"".$dede_addonfields."\">\r\n";
}
//载入自定义表单(用于编辑)
function PrintAutoFieldsEdit(&$fieldset,&$fieldValues,$loadtype='all')
{
$dtp = new DedeTagParse();
$dtp->SetNameSpace("field","<",">");
$dtp->LoadSource($fieldset);
$dede_addonfields = "";
if(is_array($dtp->CTags))
{
foreach($dtp->CTags as $tid=>$ctag)
{
if($loadtype!='autofield'
|| ($loadtype=='autofield' && $ctag->GetAtt('autofield')==1) )
{
$dede_addonfields .= ( $dede_addonfields=='' ? $ctag->GetName().",".$ctag->GetAtt('type') : ";".$ctag->GetName().",".$ctag->GetAtt('type') );
echo GetFormItemValueA($ctag,$fieldValues[$ctag->GetName()]);
}
}
}
echo "<input type='hidden' name='dede_addonfields' value=\"".$dede_addonfields."\">\r\n";
}
//处理HTML文本
//删除非站外链接、自动摘要、自动获取缩略图
function AnalyseHtmlBody($body,&$description,&$litpic,&$keywords,$dtype='')
{
global $autolitpic,$remote,$dellink,$autokey,$cfg_basehost,$cfg_auot_description,$arcID,$title,$cfg_soft_lang;
$autolitpic = (empty($autolitpic) ? '' : $autolitpic);
$body = stripslashes($body);
//远程图片本地化
if($remote==1)
{
$body = GetCurContent($body);
}
//删除非站内链接
if($dellink==1)
{
$basehost = "http://".$_SERVER['HTTP_HOST'];
$body = str_replace($cfg_basehost,'#basehost#',$body);
$body = str_replace($cfg_basehost,'#2basehost2#',$body);
$body = preg_replace("/(<a[ \t\r\n]{1,}href=[\"']{0,}http:\/\/[^\/]([^>]*)>)|(<\/a>)/isU","",$body);
$body = str_replace('#basehost#',$cfg_basehost,$body);
$body = str_replace('#2basehost2#',$basehost,$body);
}
//自动摘要
if($description=='' && $cfg_auot_description>0)
{
$description = cn_substr(html2text($body),$cfg_auot_description);
$description = trim(preg_replace('/#p#|#e#/','',$description));
$description = addslashes($description);
}
//自动获取缩略图
if($autolitpic==1 && $litpic=='')
{
$litpic = GetDDImgFromBody($body);
}
//自动获取关键字
if($autokey==1 && $keywords=='')
{
$subject = $title;
$message = $body;
if($cfg_soft_lang == 'utf-8')
{
$subject = utf82gb($title);
$message = utf82gb($message);
}
include_once(DEDEINC.'/splitword.class.php');
$keywords = '';
$sp = new SplitWord();
$titleindexs = explode(' ',preg_replace("/#p#|#e#/",'',$sp->GetIndexText($subject)));
$allindexs = explode(' ',preg_replace("/#p#|#e#/",'',$sp->GetIndexText(Html2Text($message),200)));
if(is_array($allindexs) && is_array($titleindexs))
{
foreach($titleindexs as $k)
{
if(strlen($keywords.$k)>=30)
{
break;
}
else
{
$keywords .= $k.',';
}
}
foreach($allindexs as $k)
{
if(strlen($keywords.$k)>=30)
{
break;
}
else if(!in_array($k,$titleindexs))
{
$keywords .= $k.',';
}
}
}
$sp->Clear();
$sp = null;
$keywords = $cfg_soft_lang == 'utf-8' ? addslashes(gb2utf8($keywords)) : addslashes($keywords);
}
$body = GetFieldValueA($body,$dtype,$arcID);
$body = addslashes($body);
return $body;
}
//图集里大图的小图
function GetImageMapDD($filename,$ddm,$oldname='')
{
if($oldname!='' && !eregi("^http://",$oldname))
{
$ddpicok = $oldname;
}
else
{
$ddn = substr($filename,-3);
$ddpicok = ereg_replace("\.".$ddn."$","-lp.".$ddn,$filename);
}
$toFile = $GLOBALS['cfg_basedir'].$ddpicok;
ImageResize($GLOBALS['cfg_basedir'].$filename,$ddm,300,$toFile);
return $ddpicok;
}
//------------------------
//上传一个未经处理的图片
//------------------------
/*
//参数一 upname 上传框名称
//参数二 handurl 手工填写的网址
//参数三 ddisremote 是否下载远程图片 0 不下, 1 下载
//参数四 ntitle 注解文字 如果表单有 title 字段可不管
*/
function UploadOneImage($upname,$handurl='',$isremote=1,$ntitle='')
{
global $cuserLogin,$cfg_basedir,$cfg_image_dir,$dsql,$title, $dsql;
if($ntitle!='')
{
$title = $ntitle;
}
$ntime = time();
$filename = '';
$isrm_up = false;
$handurl = trim($handurl);
//如果用户自行上传了图片
if(!empty($_FILES[$upname]['tmp_name']) && is_uploaded_file($_FILES[$upname]['tmp_name']))
{
$istype = 0;
$sparr = Array("image/pjpeg","image/jpeg","image/gif","image/png");
$_FILES[$upname]['type'] = strtolower(trim($_FILES[$upname]['type']));
if(!in_array($_FILES[$upname]['type'],$sparr))
{
ShowMsg("上传的图片格式错误,请使用JPEG、GIF、PNG格式的其中一种!","-1");
exit();
}
if(!empty($handurl) && !eregi("^http://",$handurl) && file_exists($cfg_basedir.$handurl) )
{
if(!is_object($dsql))
{
$dsql = new DedeSql();
}
$dsql->ExecuteNoneQuery("Delete From #@__uploads where url like '$handurl' ");
$fullUrl = eregi_replace("\.([a-z]*)$","",$handurl);
}
else
{
$savepath = $cfg_image_dir."/".strftime("%Y-%m",$ntime);
CreateDir($savepath);
$fullUrl = $savepath."/".strftime("%d",$ntime).dd2char(strftime("%H%M%S",$ntime).'0'.$cuserLogin->getUserID().'0'.mt_rand(1000,9999));
}
if(strtolower($_FILES[$upname]['type'])=="image/gif")
{
$fullUrl = $fullUrl.".gif";
}
else if(strtolower($_FILES[$upname]['type'])=="image/png")
{
$fullUrl = $fullUrl.".png";
}
else
{
$fullUrl = $fullUrl.".jpg";
}
//保存
@move_uploaded_file($_FILES[$upname]['tmp_name'],$cfg_basedir.$fullUrl);
$filename = $fullUrl;
//水印
@WaterImg($imgfile,'up');
$isrm_up = true;
}
//远程或选择本地图片
else
{
if($handurl=='')
{
return '';
}
//远程图片并要求本地化
if($isremote==1 && eregi("^http://",$handurl))
{
$ddinfos = GetRemoteImage($handurl,$cuserLogin->getUserID());
if(!is_array($ddinfos))
{
$litpic = "";
}
else
{
$filename = $ddinfos[0];
}
$isrm_up = true;
//本地图片或远程不要求本地化
}
else
{
$filename = $handurl;
}
}
$imgfile = $cfg_basedir.$filename;
if(is_file($imgfile) && $isrm_up && $filename!='')
{
$info = "";
$imginfos = GetImageSize($imgfile,$info);
//把新上传的图片信息保存到媒体文档管理档案中
$inquery = "
INSERT INTO #@__uploads(title,url,mediatype,width,height,playtime,filesize,uptime,mid)
VALUES ('$title','$filename','1','".$imginfos[0]."','".$imginfos[1]."','0','".filesize($imgfile)."','".time()."','".$cuserLogin->getUserID()."');
";
$dsql->ExecuteNoneQuery($inquery);
}
return $filename;
}
?>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?