如何在laravel中基于created_at获取文件?

问题描述

文件夹中有多个文件,我正在获取文件以将它们合并。现在,我希望它们在创建日期的基础上以升序获取这些文件吗?首先创建哪个文件应该首先进入循环迭代。

$bulk_pdf = public_path('bulk-pdf-consignment/manifest' . $this->manifest_id . '_.pdf');
$allFilesPath = public_path('bulk-pdf-consignment/manifest_' . $this->manifest_id);
$filesInFolder = File::files($allFilesPath);
 
foreach ($filesInFolder as $path) {
         $file = pathinfo($path);
         $finalPath = $file['dirname'] . '/' . $file['basename'];
         $pdfMerger->addPDF($finalPath,'all');
 }

解决方法

使用过的laravel集合sortBy方法

$bulk_pdf = public_path('bulk-pdf-consignment/manifest' . $this->manifest_id . '_.pdf');
 $allFilesPath = public_path('bulk-pdf-consignment/manifest_' . $this->manifest_id);

$filesInFolder = collect(File::files($allFilesPath))->sortBy(function($file) {
  return $file->getCTime();
})

foreach ($filesInFolder as $path) {
        $file = pathinfo($path->getPathName());
        $finalPath = $file['dirname'] . '/' . $file['basename'];
        $pdfMerger->addPDF($finalPath,'all');
}

查看如何在splfileinfo类中获取文件名和目录名

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...