DEDECMS 5.3 ZIP解壓檔名沒排序
dede\album_add.php
找到
/*---------------------
function _getformzip()
ZIP中解壓
---------------------*/
裡面加上 sort($imgs);
改成
/*---------------------
function _getformzip()
ZIP中解壓
---------------------*/
if($formzip==1)
{
include_once(DEDEINC."/zip.class.php");
include_once(DEDEADMIN."/file_class.php");
$zipfile = $cfg_basedir.str_replace($cfg_mainsite,'',$zipfile);
$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;
sort($imgs);
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,$ddmaxwidth) : '';
//指定了提取第一張為縮略圖的情況強制使用第一張縮略圖
if($i=='1')
{
if(!$hasone && $ddisfirst==1 && $litpic=='' && empty($litpicname))
{
$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,mid)
VALUES ('{$title}','{$iurl}','1','".$imginfos[0]."','".$imginfos[1]."','0','".filesize($imgfile)."','".$ntime."','$adminid');
";
$dsql->ExecuteNoneQuery($inquery);
WaterImg($imgfile,'up');
if(!$hasone && $ddisfirst==1 && $litpic=='')
{
if(empty($litpicname))
{
$litpicname = $iurl;
$litpicname = GetImageMapDD($iurl, $ddmaxwidth);
}
$litpic = $litpicname;
$hasone = true;
}
}
}
if($delzip==1)
{
unlink($zipfile);
}
$fm->RmDirFiles($tmpzipdir);
}
}


0 Responses to "DEDECMS 5.3 ZIP解壓檔名沒排序"
留下您的意見: