我有上傳表單,我可以上傳任何類型的文件並將其路徑保存到數據庫。如果不在數據庫中保存任何相關信息,例如: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