我已使用此命令保存文件
$newFile = [
'event_id' => $event->id,
'path' => $storePath
];
EventFile::create($newFile);
我可以获得这样一个链接的文件路径:
Storage::disk('public')->url($file->path);
但是没有关于文件大小的数据。如何在刀片视图中获取文件大小???
答案 0 :(得分:33)
Laravel 5
$request->file('file')->getSize();
Laravel 4
$request->file('file')->getClientSize(); // getClientSize() is deprecated in Laravel 5
答案 1 :(得分:5)
getClientSize() is deprecated starting version 4.1. Use getSize() instead.
https://github.com/symfony/symfony/blob/master/UPGRADE-4.1.md#httpfoundation
答案 2 :(得分:2)
laravel 8
$imageSize = $request->file('file')->getSize();
$fil->size = number_format($imageSize / 1048576,2);
<块引用>
$file->size 我的表用你的数据库表改变它
答案 3 :(得分:1)
非常简单(正确的Laravel方法):
//add this at the top of your controller
use File;
// add this with in your function
$size = File::size($PATH_OF_FILE);
答案 4 :(得分:1)
如果您已经存储/上传了文件,则更简单的方法是使用Storage Facade
use Illuminate\Support\Facades\Storage;
public function get_size($file_path)
{
return Storage::size($file_path);
}
或者,如果您使用的是S3
存储桶,则可以像下面这样修改上面的功能
use Illuminate\Support\Facades\Storage;
public function get_size($file_path)
{
return Storage::disk('s3')->size($file_path);
}
了解更多visit