function GetFileUrl( $aid,$typeid,$timetag,$title,$ismake=0,$rank=0, $namerule="",$artdir="",$money=0,$aburl=false,$siteurl="") { if($rank!=0||$ismake==-1||$typeid==0||$money>0) //动态文章 { if($GLOBALS['cfg_multi_site']=='Y') { $siteurl = $GLOBALS['cfg_basehost']; } return $siteurl.$GLOBALS['cfg_plus_dir']."/view.php?aid=$aid"; } else { $articleRule = $namerule; $articleDir = MfTypedir($artdir); if($namerule=="") $articleRule = $GLOBALS['cfg_df_namerule']; if($artdir=="") $articleDir = $GLOBALS['cfg_cmspath'].$GLOBALS['cfg_arcdir']; $dtime = GetDateMk($timetag); $articleRule = strtolower($articleRule); list($y,$m,$d) = explode("-",$dtime); $articleRule = str_replace("{typedir}",$articleDir,$articleRule); $articleRule = str_replace("{y}",$y,$articleRule); $articleRule = str_replace("{m}",$m,$articleRule); $articleRule = str_replace("{d}",$d,$articleRule); $articleRule = str_replace("{timestamp}",$timetag,$articleRule); $articleRule = str_replace("{aid}",$aid,$articleRule); $articleRule = str_replace("{cc}",dd2char($m.$d.$aid.$y),$articleRule); if(ereg('{p',$articleRule)){ $articleRule = str_replace("{pinyin}",GetPinyin($title)."_".$aid,$articleRule); $articleRule = str_replace("{py}",GetPinyin($title,1)."_".$aid,$articleRule); } $articleUrl = "/".ereg_replace("^/","",$articleRule); //是否强制使用绝对网址 if($aburl && $GLOBALS['cfg_multi_site']=='Y'){ if($siteurl=="") $siteurl = $GLOBALS["cfg_basehost"]; $articleUrl = $siteurl.$articleUrl; } return $articleUrl; } }
function MemberUploads($upname, $handname, $userid = 0, $utype = 'image', $exname = '', $maxwidth = 0, $maxheight = 0, $water = false, $isadmin = false) { global $cfg_imgtype, $cfg_mb_addontype, $cfg_mediatype, $cfg_user_dir, $cfg_basedir, $cfg_dir_purview; //当为游客投稿的情况下,这个 id 为 0 if (empty($userid)) { $userid = 0; } if (!is_dir($cfg_basedir . $cfg_user_dir . "/{$userid}")) { MkdirAll($cfg_basedir . $cfg_user_dir . "/{$userid}", $cfg_dir_purview); CloseFtp(); } //有上传文件 $allAllowType = str_replace('||', '|', $cfg_imgtype . '|' . $cfg_mediatype . '|' . $cfg_mb_addontype); if (!empty($GLOBALS[$upname]) && is_uploaded_file($GLOBALS[$upname])) { $nowtme = time(); $GLOBALS[$upname . '_name'] = trim(ereg_replace("[ \r\n\t\\*\\%\\/\\?><\\|\":]{1,}", '', $GLOBALS[$upname . '_name'])); //源文件类型检查 if ($utype == 'image') { if (!eregi("\\.(" . $cfg_imgtype . ")\$", $GLOBALS[$upname . '_name'])) { ShowMsg("你所上传的图片类型不在许可列表,请上传{$cfg_imgtype}类型!", '-1'); exit; } $sparr = array("image/pjpeg", "image/jpeg", "image/gif", "image/png", "image/xpng", "image/wbmp"); $imgfile_type = strtolower(trim($GLOBALS[$upname . '_type'])); if (!in_array($imgfile_type, $sparr)) { ShowMsg('上传的图片格式错误,请使用JPEG、GIF、PNG、WBMP格式的其中一种!', '-1'); exit; } } else { if ($utype == 'flash' && !eregi("\\.swf\$", $GLOBALS[$upname . '_name'])) { ShowMsg('上传的文件必须为flash文件!', '-1'); exit; } else { if ($utype == 'media' && !eregi("\\.(" . $cfg_mediatype . ")\$", $GLOBALS[$upname . '_name'])) { ShowMsg('你所上传的文件类型必须为:' . $cfg_mediatype, '-1'); exit; } else { if (!eregi("\\.(" . $allAllowType . ")\$", $GLOBALS[$upname . '_name'])) { ShowMsg("你所上传的文件类型不被允许!", '-1'); exit; } } } } //再次严格检测文件扩展名是否符合系统定义的类型 $fs = explode('.', $GLOBALS[$upname . '_name']); $sname = $fs[count($fs) - 1]; $alltypes = explode('|', $allAllowType); if (!in_array(strtolower($sname), $alltypes)) { ShowMsg('你所上传的文件类型不被允许!', '-1'); exit; } //强制禁止的文件类型 if (eregi("\\.(asp|php|pl|cgi|shtm|js)", $sname)) { ShowMsg('你上传的文件为系统禁止的类型!', '-1'); exit; } if ($exname == '') { $filename = $cfg_user_dir . "/{$userid}/" . dd2char($nowtme . '-' . mt_rand(1000, 9999)) . '.' . $sname; } else { $filename = $cfg_user_dir . "/{$userid}/{$exname}." . $sname; } move_uploaded_file($GLOBALS[$upname], $cfg_basedir . $filename) or die("上传文件到 {$filename} 失败!"); @unlink($GLOBALS[$upname]); if (@filesize($cfg_basedir . $filename) > $GLOBALS['cfg_mb_upload_size'] * 1024) { @unlink($cfg_basedir . $filename); ShowMsg('你上传的文件超出系统大小限制!', '-1'); exit; } //加水印或缩小图片 if ($utype == 'image') { include_once DEDEINC . '/image.func.php'; if ($maxwidth > 0 || $maxheight > 0) { ImageResize($cfg_basedir . $filename, $maxwidth, $maxheight); } else { if ($water) { WaterImg($cfg_basedir . $filename); } } } return $filename; } else { //强制禁止的文件类型 if ($handname == '') { return $handname; } else { if (eregi("\\.(asp|php|pl|cgi|shtm|js)", $handname)) { exit('Not allow filename for not safe!'); } else { if (!eregi("\\.(" . $allAllowType . ")\$", $handname)) { exit('Not allow filename for filetype!'); } else { if (!eregi('^http:', $handname) && !eregi('^' . $cfg_user_dir . '/' . $userid, $handname) && !$isadmin) { exit('Not allow filename for not userdir!'); } } } } return $handname; } }
if($imgfile_type=='image/pjpeg'||$imgfile_type=='image/jpeg'){ $sname = '.jpg'; }else if($imgfile_type=='image/gif'){ $sname = '.gif'; }else if($imgfile_type=='image/png'){ $sname = '.png'; }else if($imgfile_type=='image/wbmp'){ $sname = '.bmp'; }else{ $sname = '.jpg'; } $nowtime = time(); $savepath = $cfg_user_dir."/".$cfg_ml->M_ID; CreateDir($savepath); CloseFtp(); $rndname = dd2char($cfg_ml->M_ID."0".strftime("%y%m%d%H%M%S",$nowtme)."0".mt_rand(1000,9999)); $filename = $savepath."/".$rndname; $rndname = $rndname.$sname; //仅作注解用 //大小图URL $bfilename = $filename.$sname; $litfilename = $filename."_lit".$sname; //大小图真实地址 $fullfilename = $cfg_basedir.$bfilename; $full_litfilename = $cfg_basedir.$litfilename; if(file_exists($fullfilename)){ ShowMsg("本目录已经存在同名的文件,请重试!","-1"); exit(); }
/** * 获得下载媒体的随机名称 * * @access public * @param string $url 地址 * @param string $v 值 * @return string */ function GetRndName($url, $v) { global $cfg_image_dir, $cfg_dir_purview; $this->mediaCount++; $mnum = $this->mediaCount; $timedir = "c" . MyDate("ymd", time()); //存放路径 $fullurl = preg_replace("#\\/{1,}#", "/", $cfg_image_dir . "/"); if (!is_dir($GLOBALS['cfg_basedir'] . "/{$fullurl}")) { MkdirAll($GLOBALS['cfg_basedir'] . "/{$fullurl}", $cfg_dir_purview); } $fullurl = $fullurl . $timedir . "/"; if (!is_dir($GLOBALS['cfg_basedir'] . "/{$fullurl}")) { MkdirAll($GLOBALS['cfg_basedir'] . "/{$fullurl}", $cfg_dir_purview); } //文件名称 $timename = str_replace('.', '', ExecTime()); $threadnum = 0; if (isset($_GET['threadnum'])) { $threadnum = intval($_GET['threadnum']); } $filename = dd2char($timename . $threadnum . '-' . $mnum . mt_rand(1000, 9999)); //分配扩展名 $urls = explode('.', $url); if ($v == 'img') { $shortname = '.jpg'; if (preg_match("#\\.gif\$#i", $url)) { $shortname = '.gif'; } else { if (preg_match("#\\.png\$#i", $url)) { $shortname = '.png'; } } } else { if ($v == 'embed') { $shortname = '.swf'; } else { $shortname = ''; } } $fullname = $fullurl . $filename . $shortname; return preg_replace("#\\/{1,}#", "/", $fullname); }
/** * 上传一个未经处理的图片 * * @access public * @param string $upname 上传框名称 * @param string $handurl 手工填写的网址 * @param string $ddisremote 是否下载远程图片 0 不下, 1 下载 * @param string $ntitle 注解文字 如果表单有 title 字段可不管 * @return mixed */ function UploadOneImage($upname, $handurl = '', $isremote = 1, $ntitle = '') { global $cuserLogin, $cfg_basedir, $cfg_image_dir, $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) && !preg_match("#^http:\\/\\/#i", $handurl) && file_exists($cfg_basedir . $handurl)) { if (!is_object($dsql)) { $dsql = new DedeSql(); } $dsql->ExecuteNoneQuery("DELETE FROM `#@__uploads` WHERE url LIKE '{$handurl}' "); $fullUrl = preg_replace("#\\.([a-z]*)\$#i", "", $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 && preg_match("#^http:\\/\\/#i", $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 = "\n INSERT INTO #@__uploads(title,url,mediatype,width,height,playtime,filesize,uptime,mid)\n VALUES ('{$title}','{$filename}','1','" . $imginfos[0] . "','" . $imginfos[1] . "','0','" . filesize($imgfile) . "','" . time() . "','" . $cuserLogin->getUserID() . "');\n "; $dsql->ExecuteNoneQuery($inquery); } return $filename; }
$tmpzipdir = DEDEDATA . '/ziptmp/' . cn_substr(md5(ExecTime()), 16); $ntime = time(); if (file_exists($zipfile)) { @mkdir($tmpzipdir, $GLOBALS['cfg_dir_purview']); @chmod($tmpzipdir, $GLOBALS['cfg_dir_purview']); $z = new zip(); $z->ExtractAll($zipfile, $tmpzipdir); $fm = new FileManagement(); $imgs = array(); $fm->GetMatchFiles($tmpzipdir, "jpg|png|gif", $imgs); $i = 0; foreach ($imgs as $imgold) { $i++; $savepath = $cfg_image_dir . "/" . MyDate("Y-m", $ntime); CreateDir($savepath); $iurl = $savepath . "/" . MyDate("d", $ntime) . dd2char(MyDate("His", $ntime) . '-' . $adminid . "-{$i}" . mt_rand(1000, 9999)); $iurl = $iurl . substr($imgold, -4, 4); $imgfile = $cfg_basedir . $iurl; copy($imgold, $imgfile); unlink($imgold); if (is_file($imgfile)) { $litpicname = $pagestyle > 2 ? GetImageMapDD($iurl, $cfg_ddimg_width) : $iurl; //指定了提取第一张为缩略图的情况强制使用第一张缩略图 if ($i == '1') { if (!$hasone && $ddisfirst == 1 && $litpic == '' && empty($litpicname)) { $litpicname = GetImageMapDD($iurl, $cfg_ddimg_width); } } $info = ''; $imginfos = GetImageSize($imgfile, $info); $imgurls .= "{dede:img ddimg='{$litpicname}' text='' width='" . $imginfos[0] . "' height='" . $imginfos[1] . "'} {$iurl} {/dede:img}\r\n";
function GetFileName($aid, $typeid, $timetag, $title, $ismake = 0, $rank = 0, $namerule = '', $typedir = '', $money = 0, $filename = '') { global $cfg_rewrite, $cfg_cmspath, $cfg_arcdir, $cfg_special, $cfg_arc_dirname; //没指定栏目时用固定规则(专题) if (empty($namerule)) { $namerule = $cfg_special . '/arc-{aid}.html'; $typeid = -1; } if ($rank != 0 || $ismake == -1 || $typeid == 0 || $money > 0) { //动态文章 if ($cfg_rewrite == 'Y') { return $GLOBALS["cfg_plus_dir"] . "/view-" . $aid . '-1.html'; } else { return $GLOBALS['cfg_phpurl'] . "/view.php?aid={$aid}"; } } else { $articleDir = MfTypedir($typedir); $articleRule = strtolower($namerule); if ($articleRule == '') { $articleRule = strtolower($GLOBALS['cfg_df_namerule']); } if ($typedir == '') { $articleDir = $GLOBALS['cfg_cmspath'] . $GLOBALS['cfg_arcdir']; } $dtime = GetDateMk($timetag); list($y, $m, $d) = explode('-', $dtime); $arr_rpsource = array('{typedir}', '{y}', '{m}', '{d}', '{timestamp}', '{aid}', '{cc}'); $arr_rpvalues = array($articleDir, $y, $m, $d, $timetag, $aid, dd2char($m . $d . $aid . $y)); if ($filename != '') { $articleRule = dirname($articleRule) . '/' . $filename . $GLOBALS['cfg_df_ext']; } $articleRule = str_replace($arr_rpsource, $arr_rpvalues, $articleRule); if (preg_match("/\\{p/", $articleRule)) { $articleRule = str_replace('{pinyin}', GetPinyin($title) . '_' . $aid, $articleRule); $articleRule = str_replace('{py}', GetPinyin($title, 1) . '_' . $aid, $articleRule); } $articleUrl = '/' . preg_replace("/^\\//", '', $articleRule); if (preg_match("/index\\.html/", $articleUrl) && $cfg_arc_dirname == 'Y') { $articleUrl = str_replace('index.html', '', $articleUrl); } return $articleUrl; } }
function GetRndName($url,$v) { global $threadnum; $this->MediaCount++; $mnum = $this->MediaCount; $timedir = strftime("%y%m%d",time()); //存放路径 $fullurl = preg_replace("/\/{1,}/","/",$this->Item["imgurl"]."/"); if(!is_dir($GLOBALS['cfg_basedir']."/$fullurl")) MkdirAll($GLOBALS['cfg_basedir']."/$fullurl",$GLOBALS['cfg_dir_purview']); $fullurl = $fullurl.$timedir."/"; if(!is_dir($GLOBALS['cfg_basedir']."/$fullurl")) MkdirAll($GLOBALS['cfg_basedir']."/$fullurl",$GLOBALS['cfg_dir_purview']); //文件名称 $timename = str_replace(".","",ExecTime()); $nthreadnum =(!empty($threadnum) ? $threadnum : 0); $filename = $timename.$nthreadnum.$mnum.mt_rand(1000,9999); //把适合的数字转为字母 $filename = dd2char($filename); //分配扩展名 $urls = explode(".",$url); if($v=="img"){ $shortname = ".jpg"; if(eregi("\.gif\?(.*)$",$url) || eregi("\.gif$",$url)) $shortname = ".gif"; else if(eregi("\.png\?(.*)$",$url) || eregi("\.png$",$url)) $shortname = ".png"; } else if($v=="embed") $shortname = ".swf"; else $shortname = ""; //----------------------------------------- $fullname = $fullurl.$filename.$shortname; return preg_replace("/\/{1,}/","/",$fullname); }
$sname = '.bmp'; break; } } if ($ftype == '') { @unlink($Filedata); echo "ERROR: Image type Error! "; exit(0); } //保存原图 $filedir = $cfg_image_dir . '/' . MyDate($cfg_addon_savetype, time()); if (!is_dir(DEDEROOT . $filedir)) { MkdirAll($cfg_basedir . $filedir, $cfg_dir_purview); CloseFtp(); } $filename = $cuserLogin->getUserID() . '-' . dd2char(MyDate('ymdHis', time())); if (file_exists($cfg_basedir . $filedir . '/' . $filename . $sname)) { for ($i = 50; $i <= 5000; $i++) { if (!file_exists($cfg_basedir . $filedir . '/' . $filename . '-' . $i . $sname)) { $filename = $filename . '-' . $i; break; } } } $fileurl = $filedir . '/' . $filename . $sname; $rs = copy($FiledataNew, $cfg_basedir . $fileurl); unlink($FiledataNew); if (!$rs) { echo "ERROR: Copy Uploadfile Error! "; exit(0); }
function UploadOneImage($upname,$handurl='',$ddisremote=1,$ntitle='') { global $cuserLogin,$cfg_basedir,$cfg_image_dir,$dsql,$title; 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,adminid,memberid) VALUES ('$title','$filename','1','".$imginfos[0]."','".$imginfos[1]."','0','".filesize($imgfile)."','".time()."','".$cuserLogin->getUserID()."','0'); "; $dsql = new DedeSql(false); $dsql->ExecuteNoneQuery($inquery); } return $filename; }
@mkdir($tmpzipdir,$GLOBALS['cfg_dir_purview']); @chmod($tmpzipdir,$GLOBALS['cfg_dir_purview']); $z = new zip(); $z->ExtractAll($zipfile,$tmpzipdir); $fm = new FileManagement(); $imgs = array(); $fm->GetMatchFiles($tmpzipdir,"jpg|png|gif",$imgs); $i = 0; foreach($imgs as $imgold) { $i++; $savepath = $cfg_image_dir."/".strftime("%Y-%m",$ntime); CreateDir($savepath); $iurl = $savepath."/".strftime("%d",$ntime).dd2char(strftime("%H%M%S",$ntime).'-'.$adminID."-{$i}".mt_rand(1000,9999)); $iurl = $iurl.substr($imgold,-4,4); $imgfile = $cfg_basedir.$iurl; copy($imgold,$imgfile); unlink($imgold); if(is_file($imgfile)) { $litpicname = GetImageMapDD($iurl,$ddmaxwidth); $info = ''; $imginfos = GetImageSize($imgfile,$info); $imgurls .= "{dede:img ddimg='$litpicname' text='' width='".$imginfos[0]."' height='".$imginfos[1]."'} $iurl {/dede:img}\r\n"; //把图片信息保存到媒体文档管理档案中 $inquery = " INSERT INTO #@__uploads(title,url,mediatype,width,height,playtime,filesize,uptime,adminid,memberid) VALUES ('{$title}','{$iurl}','1','".$imginfos[0]."','".$imginfos[1]."','0','".filesize($imgfile)."','".$ntime."','$adminID','0'); ";
CloseFtp(); } $sname = '.jpg'; //图片的限定扩展名 if($imgfile_type=='image/pjpeg'||$imgfile_type=='image/jpeg'){ $sname = '.jpg'; }else if($imgfile_type=='image/gif'){ $sname = '.gif'; }else if($imgfile_type=='image/png'){ $sname = '.png'; }else if($imgfile_type=='image/wbmp'){ $sname = '.bmp'; } $filename_name = $cfg_ml->M_ID."_".dd2char(strftime("%H%M%S",$nowtme).mt_rand(100,999)); $filename = $mdir."/".$filename_name; $filename = $filename.$sname; $filename_name = $filename_name.$sname; $fullfilename = $cfg_basedir.$activepath."/".$filename; if(file_exists($fullfilename)){ ShowMsg("本目录已经存在同名的文件,请更改!","-1"); exit(); } if(!eregi("\.(jpg|gif|png|bmp)$",$fullfilename)){ ShowMsg("你所上传的文件类型被禁止,系统只允许上传jpg、gif、png、bmp类型图片!","-1"); exit(); }
function GetUpImage($litpic,$isdd=false,$exitErr=false,$iw=0,$ih=0,$iname='') { global $cfg_ml,$cfg_ddimg_width,$cfg_ddimg_height; global $cfg_basedir,$cfg_user_dir,$title,$cfg_mb_upload_size,$cfg_photo_typenames; if($iw==0) $iw = $cfg_ddimg_width; if($ih==0) $ih = $cfg_ddimg_height; $ntime = $nowtme = mytime(); if(!isset($_FILES[$litpic])) return ""; if(is_uploaded_file($_FILES[$litpic]['tmp_name'])) { //超过限定大小的文件不给上传 if($_FILES[$litpic]['size'] > $cfg_mb_upload_size*1024){ @unlink($_FILES[$litpic]['tmp_name']); return ""; } $sparr = $cfg_photo_typenames; $_FILES[$litpic]['type'] = strtolower(trim($_FILES[$litpic]['type'])); if(!in_array($_FILES[$litpic]['type'],$sparr)){ if($exitErr){ ShowMsg("上传的缩略图片格式错误,请使用JPEG、GIF、PNG格式的其中一种!","-1"); exit(); }else{ return ""; } } $savepath = $cfg_user_dir."/".$cfg_ml->M_ID; CreateDir($savepath); if($iname=='') $itname = dd2char($cfg_ml->M_ID."0".strftime("%y%m%d%H%M%S",$nowtme)."0".mt_rand(1000,9999)).'-lit'; else $itname = $iname; $fullUrl = $savepath."/".$itname; //强制检测文件类型 if($iname==''){ 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"; }else{ $fullUrl = $fullUrl.'.jpg'; } @move_uploaded_file($_FILES[$litpic]['tmp_name'],$cfg_basedir.$fullUrl); $litpic = $fullUrl; if($isdd) @ImageResize($cfg_basedir.$fullUrl,$iw,$ih); else @WaterImg($cfg_basedir.$fullUrl,'up'); //保存用户上传的记录到数据库 if($title==''){ if($isdd) $title = '用户上传的图片'; else $title = '用户上传的略略图'; } $info = ""; $datas[0] = 0; $datas[1] = 0; $datas = GetImageSize($cfg_basedir.$fullUrl,$info); $addinfos[0] = $datas[0]; $addinfos[1] = $datas[1]; $addinfos[2] = filesize($cfg_basedir.$fullUrl); SaveUploadInfo($title,$fullUrl,1,$addinfos); return $litpic; }else{ return ""; } }
$imginfos = GetImageSize($imgfile,$info); $imgurls .= "{dede:img ddimg='$litpicname' text='$iinfo' width='".$imginfos[0]."' height='".$imginfos[1]."'} $iurl {/dede:img}\r\n"; } } //直接上传的图片 }else { $sparr = Array("image/pjpeg","image/jpeg","image/gif","image/png","image/x-png","image/wbmp"); if(!in_array($_FILES['imgfile'.$i]['type'],$sparr)){ continue; } $uptime = time(); $imgPath = $cfg_image_dir."/".strftime("%y%m%d",$uptime); MkdirAll($cfg_basedir.$imgPath,$GLOBALS['cfg_dir_purview']); CloseFtp(); $filename = $imgPath."/".dd2char($cuserLogin->getUserID().strftime("%H%M%S",$uptime).mt_rand(1000,9999))."-{$i}"; $fs = explode(".",$_FILES['imgfile'.$i]['name']); $filename = $filename.".".$fs[count($fs)-1]; @move_uploaded_file($_FILES['imgfile'.$i]['tmp_name'],$cfg_basedir.$filename); //缩图 $litpicname = GetImageMapDD($filename,$ddmaxwidth); //水印 $imgfile = $cfg_basedir.$filename; @WaterImg($imgfile,'up'); if(is_file($imgfile)){ $iurl = $filename; $info = ""; $imginfos = GetImageSize($imgfile,$info);
//上传后的图片的处理 if($imgfile_type=='image/pjpeg'||$imgfile_type=='image/jpeg'){ $sname = '.jpg'; }else if($imgfile_type=='image/gif'){ $sname = '.gif'; }else if($imgfile_type=='image/png'){ $sname = '.png'; }else if($imgfile_type=='image/wbmp'){ $sname = '.bmp'; } $nowtime = time(); $savepath = $cfg_user_dir."/".$cfg_ml->M_ID."/".strftime("%y%m",$nowtime); CreateDir($savepath); CloseFtp(); $rndname = dd2char(strftime("%d%H%M%S",$nowtime).$cfg_ml->M_ID.mt_rand(1000,9999)); $filename = $savepath."/".$rndname; $rndname = $rndname.$sname; //仅作注解用 //大小图URL $bfilename = $filename.$sname; $litfilename = $filename."_lit".$sname; //大小图真实地址 $fullfilename = $cfg_basedir.$bfilename; $full_litfilename = $cfg_basedir.$litfilename; if(file_exists($fullfilename)){ ShowMsg("本目录已经存在同名的文件,请重试!","-1"); exit(); }
ShowMsg("你所上传的图片类型不在许可列表,请更改系统对扩展名限定的配置!", "-1"); exit; } $nowtme = time(); $sparr = array("image/pjpeg", "image/jpeg", "image/gif", "image/png", "image/xpng", "image/wbmp"); $imgfile_type = strtolower(trim($imgfile_type)); if (!in_array($imgfile_type, $sparr)) { ShowMsg("上传的图片格式错误,请使用JPEG、GIF、PNG、WBMP格式的其中一种!", "-1"); exit; } $mdir = MyDate($cfg_addon_savetype, $nowtme); if (!is_dir($cfg_basedir . $activepath . "/{$mdir}")) { MkdirAll($cfg_basedir . $activepath . "/{$mdir}", $cfg_dir_purview); CloseFtp(); } $filename_name = $cuserLogin->getUserID() . '-' . dd2char(MyDate("ymdHis", $nowtme) . mt_rand(100, 999)); $filename = $mdir . '/' . $filename_name; $fs = explode('.', $imgfile_name); $filename = $filename . '.' . $fs[count($fs) - 1]; $filename_name = $filename_name . '.' . $fs[count($fs) - 1]; $fullfilename = $cfg_basedir . $activepath . "/" . $filename; move_uploaded_file($imgfile, $fullfilename) or die("上传文件到 {$fullfilename} 失败!"); if ($cfg_remote_site == 'Y' && $remoteuploads == 1) { //分析远程文件路径 $remotefile = str_replace(DEDEROOT, '', $fullfilename); $localfile = '../..' . $remotefile; //创建远程文件夹 $remotedir = preg_replace('/[^\\/]*\\.(jpg|gif|bmp|png)/', '', $remotefile); $ftp->rmkdir($remotedir); $ftp->upload($localfile, $remotefile); }
if (!empty($newname)) { $filename = $newname; if (!preg_match("#\\.#", $filename)) { $fs = explode('.', $uploadfile_name); } else { $fs = explode('.', $filename); } if (preg_match("#" . $cfg_not_allowall . "#", $fs[count($fs) - 1])) { ShowMsg("你指定的文件名被系统禁止!", 'javascript:;'); exit; } if (!preg_match("#\\.#", $filename)) { $filename = $filename . '.' . $fs[count($fs) - 1]; } } else { $filename = $cuserLogin->getUserID() . '-' . dd2char(MyDate('ymdHis', $nowtme)); $fs = explode('.', $uploadfile_name); if (preg_match("#" . $cfg_not_allowall . "#", $fs[count($fs) - 1])) { ShowMsg("你上传了某些可能存在不安全因素的文件,系统拒绝操作!", 'javascript:;'); exit; } $filename = $filename . '.' . $fs[count($fs) - 1]; } if (preg_match('#\\.(php|pl|cgi|asp|aspx|jsp|php5|php4|php3|shtm|shtml)$#i', trim($filename))) { ShowMsg("你指定的文件名被系统禁止!", 'javascript:;'); exit; } $fullfilename = $cfg_basedir . $activepath . '/' . $filename; $fullfileurl = $activepath . '/' . $filename; move_uploaded_file($uploadfile, $fullfilename) or die("上传文件到 {$fullfilename} 失败!"); @unlink($uploadfile);