• 全国400电话网上服务平台
    强大号码库资源任选,方便,快捷,快速开通。
    咨询热线:400-1100-266  

    织梦站内选择文件夹和图片文件、文件夹按更新时间排序
    POST TIME:2021-05-23 02:38

    织梦站内选择图片排序是直接read()读取直接输出,如果我们同一时间上传了多个图片,在没有经过排序的情况下,我们去选择图片很难快速分辨哪个是刚刚上传的,解决方法是读取该目录的文件列表,用"文件名、修改时间"做键值对,塞入数组,注意,是用文件名做键,因为图片有可能是同一个时分秒上传的,并且没有毫秒,我们无法判断哪个是快一秒哪个慢一秒。再对"修改时间"倒序,最后foreach输出即可。

    Dedecms织梦站内选择文件夹和图片文件、文件夹按更新时间排序

    解决方法

    打开 \include\dialog\select_images.php 找到

    $dh = dir($inpath);

    ....(中间代码省略)

    $dh->close();

    146行到245行,把整个代码换成下面的代码

    $dh = dir($inpath);
    $ty1="";
    $ty2="";
    $filearr = array();
    while($file = $dh->read()) {
        //-----计算文件大小和创建时间
        if($file!="." && $file!=".." && !is_dir("$inpath/$file")){
            $filetime = filemtime("$inpath/$file");
            $filetime = MyDate("Y-m-d H:i:s", $filetime);
    $filearr[] = $file;
    $filetimearr[] = $filetime;
        }
        if($file == ".") continue;
        else if($file == "..")
        {
            if($activepath == "") continue;
            $tmp = preg_replace("#[\/][^\/]*$#i", "", $activepath);
            $line = "\n<tr>
       <td class='linerow' colspan='2'>
       <a href='select_images.php?imgstick=$imgstick&v=$v&f=$f&activepath=".urlencode($tmp).$addparm."'><img src=img/dir2.gif border=0 width=16 height=16 align=absmiddle>上级目录</a></td>
       <td colspan='2' class='linerow'> 当前目录:$activepath</td>
       </tr>
       ";
            echo $line;
        }
        else if(is_dir("$inpath/$file"))
        {
            if(preg_match("#^_(.*)$#i", $file)) continue; #屏蔽FrontPage扩展目录和linux隐蔽目录
            if(preg_match("#^\.(.*)$#i", $file)) continue;
    $dirarr[] = $file;
        }
    }//End Loop
    $dh->close();
    arsort($dirarr);
    foreach($dirarr as $file)
    {
    $line = "\n<tr>
       <td bgcolor='#F9FBF0' class='linerow' colspan='2'>
       <a href='select_images.php?imgstick=$imgstick&v=$v&f=$f&activepath=".urlencode("$activepath/$file").$addparm."'><img src=img/dir.gif border=0 width=16 height=16 align=absmiddle>$file</a></td>
       <td class='linerow'> </td>
       <td bgcolor='#F9FBF0' class='linerow'> </td>
       </tr>";
    echo "$line";
    }
    array_multisort($filetimearr,SORT_DESC,SORT_STRING, $filearr);
    array_multisort($filetimearr,SORT_DESC,SORT_STRING, $filetimearr);
    $result = array_combine($filearr,$filetimearr);
    foreach($result as $file => $filetime)
    {
    $filesize = filesize("$inpath/$file");
    $filesize = $filesize / 1024;
    if($filesize != "")
    if($filesize < 0.1){
    @list($ty1, $ty2) = split("\.", $filesize);
    $filesize = $ty1.".".substr($ty2, 0, 2);
    }
    else{
    @list($ty1, $ty2) = split("\.", $filesize);
    $filesize = $ty1.".".substr($ty2, 0, 1);
    }
    if(preg_match("#\.(gif|png)#i", $file))
        {
            $reurl = "$activeurl/$file";
            $reurl = preg_replace("#^\.\.#", "", $reurl);
            if($cfg_remote_site=='Y' && $remoteuploads == 1)
             {
               $reurl  = $remoteupUrl.$reurl;
            }else{
                $reurl = $reurl;
            }
            if($file==$comeback) $lstyle = " style='color:red' ";
            else  $lstyle = "";
            $line = "\n<tr>
       <td align='center' class='linerow' bgcolor='#F9FBF0'>
       <a href=\&;#\&; onClick=\&;ChangeImage('$reurl');\&;><img src='img/picviewnone.gif' width='16' height='16' border='0' align=absmiddle></a>
       </td>
       <td class='linerow' bgcolor='#F9FBF0'>
       <a href=# onclick=\&;ReturnImg('$reurl');\&; $lstyle><img src=img/gif.gif border=0 width=16 height=16 align=absmiddle>$file</a></td>
       <td class='linerow'>$filesize KB</td>
       <td align='center' class='linerow' bgcolor='#F9FBF0'>$filetime</td>
       </tr>";
            echo "$line";
        }
        else if(preg_match("#\.(jpg)#i", $file))
        {
            $reurl = "$activeurl/$file";
            $reurl = preg_replace("#^\.\.#", "", $reurl);
            if($cfg_remote_site=='Y' && $remoteuploads == 1)
             {
               $reurl  = $remoteupUrl.$reurl;
            }else{
                $reurl = $reurl;
            }
            if($file==$comeback) $lstyle = " style='color:red' ";
            else  $lstyle = "";
            $line = "\n<tr>
       <td align='center' class='linerow' bgcolor='#F9FBF0'>
       <a href=\&;#\&; onClick=\&;ChangeImage('$reurl');\&;><img src='img/picviewnone.gif' width='16' height='16' border='0' align=absmiddle></a>
       </td>
       <td class='linerow' bgcolor='#F9FBF0'>
       <a href=# onclick=\&;ReturnImg('$reurl');\&; $lstyle><img src=img/jpg.gif border=0 width=16 height=16 align=absmiddle>$file</a>
       </td>
       <td class='linerow'>$filesize KB</td>
       <td align='center' class='linerow' bgcolor='#F9FBF0'>$filetime</td>
       </tr>";
            echo "$line";
        }
    }

    后台模板管理按名称排序修改

    打开 \dede\templets\templets_default.htm 找到

    $dh = dir($templetdird);

    改成

    $files = scandir($templetdird);

     

    继续找到

    while($filename=$dh->read())

    改成

    foreach($files as $filename)

    完成。


    
    关于我们 | 付款方式 | 建站知识 | 增值服务 | 网站模板
    Copyright © 2003-2016
    时间:9:00-21:00 (节假日不休)
    版权所有:巨人网络(扬州)科技有限公司
    总部地址:江苏省信息产业基地11号楼四层
    《增值电信业务经营许可证》 苏B2-20120278
    X

    截屏,微信识别二维码

    微信号:veteran88

    (点击微信号复制,添加好友)

     打开微信

    微信号已复制,请打开微信添加咨询详情!