织梦CMS系统站内选择图片排序是直接read()读取直接输出,如果我们同一时间上传了多个图片,在没有经过排序的情况下,我们去选择图片很难快速分辨哪个是刚刚上传的,解决方法是读取该目录的文件列表,用文件名、修改时间做键值对,塞入数组,注意,是用文件名做键,因为图片有可能是同一个时分秒上传的,并且没有毫秒,我们无法判断哪个是快一秒哪个慢一秒。再对修改时间倒序,foreach输出即可。 织梦教程 打开 clude/dialog/select_images.php 找到 […]
织梦CMS系统站内选择图片排序是直接read()读取直接输出,如果我们同一时间上传了多个图片,在没有经过排序的情况下,我们去选择图片很难快速分辨哪个是刚刚上传的,解决方法是读取该目录的文件列表,用"文件名、修改时间"做键值对,塞入数组,注意,是用文件名做键,因为图片有可能是同一个时分秒上传的,并且没有毫秒,我们无法判断哪个是快一秒哪个慢一秒。再对"修改时间"倒序,foreach输出即可。
织梦教程
打开 clude/dialog/select_images.php 找到
$dh = dir($path);
....(中间代码省略)
$dh->close();
146行到245行,把整个代码换成下面的代码
$dh = dir($path);
$ty1="";
$ty2="";
$filearr = array();
while($file = $dh->read()) {
//-----计算文件大小和创建时间
if($file!="." && $file!=".." && !is_dir("$path/$file")){
$filetime = filemtime("$path/$file");
$filetime = MyDate("Y-m-d H:i:s", $filetime);
$filearr[] = $file;
$filetimearr[] = $filetime;
}
if($file == ".") contue;
else if($file == "..")
{
if($activepath == "") contue;
$tmp = preg_replace("#[/][^/]$#i", "", $activepath);
$le = "
<tr>
<td class='lerow' 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='lerow'> 当前目录:$activepath</td>
</tr>
";
echo $le;
}
else if(is_dir("$path/$file"))
{
if(preg_match("#^_(.)$#i", $file)) contue; #屏蔽FrontPage扩展目录和lux隐蔽目录
if(preg_match("#^.(.)$#i", $file)) contue;
$dirarr[] = $file;
}
}//End Loop
$dh->close();
arsort($dirarr);
foreach($dirarr as $file)
{
$le = "
<tr>
<td bgcolor='#F9FBF0' class='lerow' 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='lerow'> </td>
<td bgcolor='#F9FBF0' class='lerow'> </td>
</tr>";
echo "$le";
}
array_multisort($filetimearr,SORT_DESC,SORT_STRING, $filearr);
array_multisort($filetimearr,SORT_DESC,SORT_STRING, $filetimearr);
$result = array_be($filearr,$filetimearr);
foreach($result as $file => $filetime)
{
$filesize = filesize("$path/$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==$eback) $lstyle = " style='color:red' ";
else $lstyle = "";
$le = "
<tr>
<td align='center' class='lerow' bgcolor='#F9FBF0'>
<a href="#" onClick="ChangeImage('$reurl');"><img src='img/picviewnone.gif' width='16' height='16' border='0' align=absmiddle></a>
</td>
<td class='lerow' 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='lerow'>$filesize KB</td>
<td align='center' class='lerow' bgcolor='#F9FBF0'>$filetime</td>
</tr>";
echo "$le";
}
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==$eback) $lstyle = " style='color:red' ";
else $lstyle = "";
$le = "
<tr>
<td align='center' class='lerow' bgcolor='#F9FBF0'>
<a href="#" onClick="ChangeImage('$reurl');"><img src='img/picviewnone.gif' width='16' height='16' border='0' align=absmiddle></a>
</td>
<td class='lerow' 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='lerow'>$filesize KB</td>
<td align='center' class='lerow' bgcolor='#F9FBF0'>$filetime</td>
</tr>";
echo "$le";
}
}
后台模板管理按名称排序修改
打开 dede/templets/templets_default.htm 找到
改成
$files = scandir($templetdird);
继续找到
while($filename=$dh->read())
改成
foreach($files as $filename)
完成