📅  最后修改于: 2023-12-03 14:53:24.404000             🧑  作者: Mango
在 Laravel 中,我们可以使用媒体库来方便地管理文件和图片。这在网站开发中非常常见。然而,由于服务器的限制和安全考虑,Laravel 默认限制上传文件的大小。在本文中,我们将介绍如何在 Laravel 中设置最大允许文件大小。
Laravel 默认限制上传文件大小为 2MB。在 config/upload.php
中,可以找到以下配置:
/*
|--------------------------------------------------------------------------
| Maximum Upload Size
|--------------------------------------------------------------------------
|
| This defines the maximum file size (in kilobytes) that a given Upload
| can be. By default, this is set to 2048 KB (2 MB).
|
*/
'max_size' => 2048,
要修改最大允许文件大小,我们需要修改 php.ini
文件中的 upload_max_filesize
和 post_max_size
指令。这些指令分别控制上传文件的大小和 POST 数据的大小。
在 php.ini
文件中,可以找到以下配置:
; Maximum allowed size for uploaded files.
upload_max_filesize = 2M
; Must be greater than or equal to upload_max_filesize
post_max_size = 8M
我们可以将 upload_max_filesize
和 post_max_size
改为任意值,以满足项目的需要。
如果您无法修改 php.ini
文件,您还可以考虑使用 .htaccess
文件或在 php
文件中使用 ini_set()
函数来修改这些指令。
在 Laravel 中,我们可以使用验证规则来验证上传文件的大小。以下是一些有用的验证规则:
size:max_size
:指定上传文件的最大大小,单位为字节。
between:min,max
:规定上传文件的大小必须在最小值和最大值之间,单位为字节。
示例:
$request->validate([
'photo' => 'size:1024|between:1024,4096' // 最小 1KB,最大 4KB
]);
上传文件大小限制是网站开发中一个值得注意的问题。在 Laravel 中,我们可以很方便地修改最大允许文件大小,并使用验证规则来确保用户上传正确大小的文件。