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

文件夹和图片文件处理后效果

实现教程

打开 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 = "
<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 = "
<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 = "
<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 = "
<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)

完成

转载于:https://www.cnblogs.com/dedehtml/p/9904518.html

织梦站内选择文件夹和图片文件排序后台模板管理按名称排序相关推荐

  1. 织梦站内选择和文件管理器中文乱码的解决方法(utf8编码程序包才会)

    织梦站内选择和文件管理器中文乱码的解决方法(utf8编码程序包才会) 参考文章: (1)织梦站内选择和文件管理器中文乱码的解决方法(utf8编码程序包才会) (2)https://www.cnblog ...

  2. html织梦站内搜索代码,简单三步-实现dede站内搜索功能

    前几天,在帮一个客户在做网站时,因为客户要求网站内要弄一个产品搜索功能.因为才接触dede不久,对于dede也不是很熟悉.在网上查询了一些资料,但觉得网上的资料很杂乱,把一个简单的东西变为复杂化了.下 ...

  3. 一键修改文件夹下图片文件的格式,适用于任何格式

    我的文件分布如上,本方法可实现一键修改所有图片文件的格式,例如将现有的png格式修改为jpg格式. 下面上代码: import os from PIL import Image # 图片路径 CONV ...

  4. 合并文件夹内所有Excel文件(目前仅限于合并单层文件夹,如果文件夹下面有文件夹,暂未加入此功能,默认合并所有文件的所有Sheet)优化文件名_变更为:文件夹名字 + 合并的文件-(xls+xlsx)

    几经修改,终于算是成为自己较为满意的一个VBA程序(2020-6-6修正) 然,因个人才疏学浅,如有疏漏,希望各位前辈多多指正~在下先行谢过~ 1.考虑到Excel新建Sheet的命名规则 2.考虑到 ...

  5. python pandas合并多个excel_python pandas合并多个excel(xls和xlsx)文件(弹窗选择文件夹和保存文件)...

    # python pandas合并多个excel(xls和xlsx)文件(弹窗选择文件夹和保存文件) import tkinter as tk from tkinter import filedial ...

  6. VB选择文件夹并取文件夹名

    代码如下: '引用Microsoft Shell Controls And Automation Dim ShellA As New Shell Private Sub Command1_Click( ...

  7. 将多个文件夹或单文件夹内的xml文件转换为一个json标签(imagenet VID等视频目标检测数据集)简单易改,有注释

    文章目录 多文件夹xml文件转json 单文件夹xml文件转json 该代码主要针对视频目标检测yolov项目需要训练基础的yolox检测器所写(需要VID的json标签文件),鉴于网上没有公开的代码 ...

  8. matlab 选择文件夹、选择文件GUI和逐一读取文件夹中的文件

    matlab 选择文件夹.选择文件GUI和逐一读取文件夹中的文件 1. 选择文件夹路径: filepath = uigetdir('*.*','请选择文件夹');%fliepath为文件夹路径 2. ...

  9. 使用C#选择文件夹、打开文件夹、选择文件

    使用C#选择文件夹.打开文件夹.选择文件 - 摩根船长 - 博客园 http://www.cnblogs.com/szytwo/archive/2012/03/21/2410041.html usin ...

最新文章

  1. Machine Learning | (3) Scikit-learn的分类器算法-k-近邻
  2. 26.angularJS $routeProvider
  3. 通信系统之数字复接技术
  4. Nature年度十大科学人物公布:瑞典气候女孩、北大邓宏魁、谷歌量子计算领导者上榜...
  5. 在 Linux 中使用超级用户权限
  6. 在项目中增加自定义icon图标
  7. 一步步开发自己的博客 .NET版(5、Lucenne.Net 和 必应站内搜索)
  8. 数据解读京东上最受欢迎的面包
  9. pcb设计等长线误差_17种元器件PCB封装图鉴,美翻了(附PCB元件库)
  10. swing中怎么在原来图片的基础上切换第二张图片_摄影比赛原来是这么评出来的!照片点评与修图小赛第10期...
  11. vector::erase()的那些事儿
  12. 压缩感知 热身实验 OMP算法Python实现(详细代码注释)
  13. matlab 剔除toc,matlab-罗曼诺夫斯基准则剔除粗大值
  14. HSB”、lab、CMYK、RGB有什么区别
  15. 国内外php商城系统 开源
  16. linux mc服务器 mod_官方minecraft服务器简单开服方法[linux][minecraft1.5.2]
  17. 【备忘录】浏览器不能上网但是微信能收到消息的一个解决办法
  18. 路径规划学习之地图生成(一)
  19. 【调研】国内芯片公司对于存算一体芯片的相关调研
  20. 基于互质阵的DOA估计

热门文章

  1. 大牛程序员是如何入行的?(附带Web开发者入行指南)
  2. 内存分配---kmalloc
  3. 机器学习流程——监督学习篇
  4. STC8H8K系列汇编和C51实战——秒倒计时器(可自行设定初值)(51版)
  5. 三国志战略版:Daniel_S3五谋臣分析及阵容推荐
  6. 中级职称报名上海计算机考试,关于上海中级职称计算机考试的问题
  7. linux驱动由浅入深系列:高通sensor架构实例分析之三(adsp上报数据详解、校准流程详解)
  8. postgresql 获取schema,table 信息
  9. SQL UNIQUE 约束
  10. 机智云AIoT+arduino单片机+智能家居系统及安防控制