Joh*_*Doe 2 php sorting image file laravel
因此,现在我需要按添加日期的顺序显示目录中的图像数组(现在它按名称显示文件)。该函数不是我写的,因为我不了解PHP。我在这里尝试了多种解决方案,但是在不知道语法的情况下不能做很多事情。
那么如何在这里对文件排序?
public function getPhotos($nav, $page=false)
{
if($page==false){
$dir = 'img/'.$nav;
}
else{
$dir = 'img/'.$nav.'/'.$page;
}
$files = FILE::allFiles($dir);
foreach($files as $file){
if(pathinfo($file, PATHINFO_EXTENSION)=='png' or pathinfo($file, PATHINFO_EXTENSION)=='gif' or pathinfo($file, PATHINFO_EXTENSION)=='jpg'){
$result[] = (string)explode("$page\\",$file)[1];
}
}
echo $json_response = json_encode($result);
}
Run Code Online (Sandbox Code Playgroud)
这样的事情应该可以解决问题:
public function getPhotos($nav, $page = false)
{
$dir = 'img/' . $nav;
if ($page !== false) {
$dir .= '/' . $page;
}
return $files = collect(File::allFiles($dir))
->filter(function ($file) {
return in_array($file->getExtension(), ['png', 'gif', 'jpg']);
})
->sortBy(function ($file) {
return $file->getCTime();
})
->map(function ($file) {
return $file->getBaseName();
});
}
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助!
| 归档时间: |
|
| 查看次数: |
2515 次 |
| 最近记录: |