我正在基于文件名的编号自动对照片进行排序的照片库。通过文件名中的数字排序PHP数组
我有以下代码:
//calculate and sort
$totaal = 0;
if($handle_thumbs = opendir('thumbs')){
$files_thumbs = array();
while(false !== ($file = readdir($handle_thumbs))){
if($file != "." && $file != ".."){
$files_thumbs[] = $file;
$totaal++;
}
}
closedir($handle_thumbs);
}
sort($files_thumbs);
//reset array list
$first = reset($files_thumbs);
$last = end($files_thumbs);
//match and split filenames from array values - image numbers
preg_match("/(\d+(?:-\d+)*)/", "$first", $matches);
$firstimage = $matches[1];
preg_match("/(\d+(?:-\d+)*)/", "$last", $matches);
$lastimage = $matches[1];
但是,当我有文件的名称,如photo-Aname_0333.jpg
,photo-Bname_0222.jpg
,它确实与photo-Aname_0333
而不是0222
开始。
我怎样才能按文件名数字排序?
这个工作正常,但你能解释一下吗? :) – Rick
我补充说明里克 – David