$z = new zip();
$z->ExtractAll($zipfile,$tmpzipdir);
$fm = new FileManagement();
$imgs = array();
$fm->GetMatchFiles($tmpzipdir,"jpg|png|gif",$imgs);
在这段代码之后,添加以下自定义代码以调整解压缩后图片数组的顺序:
// 调整解压缩出来的数组
// mod by king
$tmpimgs = array();
foreach($imgs as $k => $v){
preg_match_all("/\\\\/(\\\\d+)\\\\./",$v,$kk);
$tmpimgs[$kk[1][0]-1] = $v;
}
ksort($tmpimgs);
$imgs = $tmpimgs;
unset($tmpimgs);
//
上述代码的作用是通过正则表达式匹配图片文件名中的数字部分,并按照这些数字重新排序图片数组。例如,如果您上传的图片名为`1.jpg`、`2.jpg`、`3.jpg`和`4.jpg`,那么它们将会严格按照`1-2-3-4`的顺序排列并显示。 为了确保编辑图集时也能保持同样的效果,请同样修改`album_edit.php`文件。在该文件中找到与`album_add.php`相同的代码段,并在其后添加上述代码。 完成以上步骤后,保存文件并刷新后台缓存即可生效。此时,无论是在新增还是编辑图集时,图片都会按照您命名的顺序自动排列。 这种方法不仅提升了用户体验,还为后续的内容管理和维护提供了便利。希望这篇教程能够帮助到正在使用Dedecms的开发者们。