PHP File::files()响应返回空对象数组

PHP File::files()响应返回空对象数组

问题描述

我正在尝试通过文件门面获取我的Laravel应用程序中的文件列表,但它的工作方式并不如预期。

$path = storage_path('path/to/folder/' . $request->folder);
$files = File::files($path);
return response()->json($files, 200);

这是我正在运行的代码。目录中当前有5个文件,我正在用它来进行测试。

响应以数组形式显示了正确的文件数量,但所有文件都是空的。

PHP File::files()响应返回空对象数组

我所指定的路径是正确的,文件存在,并且添加/删除文件在响应中也正常反映。但是我不明白为什么对象是空的。

我错过了什么?

解决方案

通过访问SplFileInfo对象的属性和方法,您可以获取关于目录中文件的信息。

$path = storage_path('path/to/folder/' . $request->folder);
$files = File::files($path);

$fileDetails = [];

foreach ($files as $file) {
    $fileDetails[] = [
        'name' => $file->getFilename(),
        'path' => $file->getRealPath(),
        'size' => $file->getSize(),
        'lastModified' => $file->getMTime(),
    ];
}

return response()->json($fileDetails, 200);

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程

PHP 精选笔记