在使用 Laravel 加载页面时获取文件信息



>我有上传表单,我可以在其中上传任何类型的文件并将其路径保存到数据库中。如果不在数据库中保存任何相关信息,例如:filetypefilesize等,我可以在循环结果并将其显示在页面上时获得此信息吗?

这是我到目前为止尝试过的

public function fileUpload()
{
$allFiles = Documents::paginate(20);
$files = array();
foreach ($allFiles as $file) {
$files[] = $this->fileInfo(pathinfo(public_path() . '/uploads/' . $file));
}
return View::make('admin.files', [
'files' => $files
]);
}
public function fileInfo($filePath)
{
$file = array();
$file['name'] = $filePath['filename'];
$file['extension'] = $filePath['extension'];
$file['size'] = filesize($filePath['dirname'] . '/' . $filePath['basename']);
return $file;
}

运行页面时出现的错误是

错误异常: 文件大小((: 统计失败 .....

这是正确的做法吗?

更新:dd($filePath['dirname'] . '/' . $filePath['basename']);返回

string(126) "/var/www/html/site/public/uploads/{"id":2,"document_path":"aut6MnADFrPZTz4TJf0Y.pdf","document_name":"Some title for the file"}"

更改此行

$files[] = $this->fileInfo(pathinfo(public_path() . '/uploads/' . $file));

$files[] = $this->fileInfo(pathinfo(public_path() . '/uploads/' . $file->document_path));

最新更新