Home > , > DEDECMS 5.3 ZIP解壓檔名沒排序

DEDECMS 5.3 ZIP解壓檔名沒排序

2009年1月31日星期六

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解壓檔名沒排序"