我有上传表单,我可以上传任何类型的文件并将其路径保存到数据库。如果不在数据库中保存任何相关信息,例如:filetype
,filesize
等,我可以获取这些信息,同时我可以循环显示结果并在页面上显示它们?使用Laravel在页面上加载时获取文件信息
这里是我试过到目前为止
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;
}
当我运行该页面是
ErrorException这是我得到的错误:文件大小():统计失败.....
这是做这件事的正确方法吗?
更新: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"}"
什么是'$文件路径[ '目录名称']的输出。 '/'。 $文件路径[ '基本名']'?我看到另一个'$ filePath ['extension']'和'$ filePath ['filename']',我猜这些应该包含在路径中? – Clemenz
我什至不能'dd'。只有这个错误出现 – Ivan
甚至没有'$ file = array();'?否则,请用'dd()'将filestat行注释掉。 – Clemenz