Laravel max上传大小限制

bai*_*772 11 php file-upload laravel

我的网站托管在共享服务器上.最大上传限制为5MB.如果上传的文件小于5MB,则所有验证和文件上传都可以正常工作.但是当上传大于5MB的文件时,我会看到这一点 在此输入图像描述.如何验证或强制文件在服务器的上传限制之下?

pat*_*cus 9

您似乎对更改PHP限制以允许更大的文件感兴趣.在我看来,你希望你的最大上传量为5MB,并且如果超过该值,则返回正确的响应.

您可以FileException在异常处理程序中处理异常app/Exceptions/Handler.php.更新render方法以添加所需的代码.例如,如果您想返回验证异常,则需要在异常处理程序内处理异常处理的验证FileException.

public function render($request, Exception $exception)
{
    if ($exception instanceof \Symfony\Component\HttpFoundation\File\Exception\FileException) {
        // create a validator and validate to throw a new ValidationException
        return Validator::make($request->all(), [
            'your_file_input' => 'required|file|size:5000',
        ])->validate();
    }

    return parent::render($request, $exception);
}
Run Code Online (Sandbox Code Playgroud)

这是未经测试的,但应该给你一般的想法.

你也可以通过javascript进行客户端验证,这样一个太大的文件永远不会真正发送到你的服务器,但javascript可以被客户端禁用或删除,所以最好有好的服务器端处理设置.

对于客户端验证,如果将事件处理程序附加到文件输入的"更改"事件,则可以使用检查文件大小this.files[0].size,然后执行任何其他操作(禁用表单,删除上载的文件等)


Add*_*Ltd 8

post_max_sizeupload_max_filesize是可以设置为配置php.ini文件或.htaccess文件或httpd.conf文件的指令。

php.ini示例:

post_max_size=15M
upload_max_filesize=15M
Run Code Online (Sandbox Code Playgroud)

.htaccess示例:

php_value post_max_size=15M
php_value upload_max_filesize=15M
Run Code Online (Sandbox Code Playgroud)

httpd.conf示例:

<VirtualHost *:80>
    ServerName www.example.com
    ServerAlias example.com
    DocumentRoot /var/www/html/example/
    ErrorLog /var/log/httpd/error.log
    <Directory /var/www/html/example/>
      AllowOverride None
      <IfModule mod_php5.c>
        php_value post_max_size=15M
        php_value upload_max_filesize=15M
      </IfModule>
    </Directory>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)


Exp*_*tor 6

$validator = Validator::make($request->all(), [
    'file' => 'max:5120', //5MB 
]);
Run Code Online (Sandbox Code Playgroud)

在你的控制器中

并在php.ini中

upload_max_filesize = 10MB
Run Code Online (Sandbox Code Playgroud)


小智 5

更改 php.ini 中的以下参数就可以了!为我。

upload_max_filesize = 50M
memory_limit = 512M
max_input_time = -1
max_execution_time = 0
Run Code Online (Sandbox Code Playgroud)