我使用以下方法从文件夹中获取所有文件,我的方法返回有关目录中文件的一些基本信息
public function getUploaded()
{
$files = [];
$filesInFolder = File::files(base_path() .'/'. self::UPLOAD_DIR);
foreach($filesInFolder as $path)
{
$files[] = pathinfo($path);
}
return response()->json($files, 200);
}
我如何获得大小和基本名称?
$files['name'] = ....
$files['size'] = ....
答案 0 :(得分:1)
你可以用Laravel系列和SplFileInfo完全解决这个问题。以下几行;
public function getUploaded()
{
$files = collect(File::files(base_path() . "/" . self::UPLOAD_DIR))->map(function ($filePath) {
$file = new \SplFileInfo($filePath);
return [
'name' => $file->getName(),
'size' => $file->getSize(),
];
});
return response()->json($files);
}
答案 1 :(得分:0)
您可以按如下方式修改代码:
foreach ($filesInFolder as $path) {
$file = pathinfo($path);
$file['size'] = File::size($path);
$file['name'] = File::name($path);
$files[] = $file;
}