获取文件信息表单目录Laravel
Get file information form directory Laravel
我使用以下方法从文件夹中获取所有文件,我的方法returns关于目录中文件的一些基本信息
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'] = ....
您可以修改您的代码如下:
foreach ($filesInFolder as $path) {
$file = pathinfo($path);
$file['size'] = File::size($path);
$file['name'] = File::name($path);
$files[] = $file;
}
您可以使用 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);
}
我使用以下方法从文件夹中获取所有文件,我的方法returns关于目录中文件的一些基本信息
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'] = ....
您可以修改您的代码如下:
foreach ($filesInFolder as $path) {
$file = pathinfo($path);
$file['size'] = File::size($path);
$file['name'] = File::name($path);
$files[] = $file;
}
您可以使用 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);
}