首页 > 解决方案 > Laravel 5.1 最大图像大小

问题描述

我正在使用 Laravel 5.1 和 php 7。我尝试实现图像上传。大图上传失败。(出现一个没有错误消息的白屏)我在 xampp 和 webspace 上本地测试了它。它适用于小图像。它以 2.5MB 的图像失败,但最大值为 5000。

我的控制器:

public function fileUpload(Request $request)

{

      if($request->hasfile('filename'))
    {
        foreach($request->file('filename') as $image)
        {

            $targetFolder = public_path().'/images/';

            $name=$image->getClientOriginalName();
            $extension = $image->getClientOriginalExtension(); // add

            $picture = sha1($name . time()) . '.' . $extension; //add

            $image->move($targetFolder, $picture);

            $image = \Intervention\Image\Facades\Image::make(sprintf('images/%s', $picture))->resize(640, null, function ($constraint) {
                $constraint->aspectRatio();
            });
            $image->sharpen(10);
            $image->save();

            $form= new Image();
            $form->filename = $picture;
            $form->appartement_id = $appartement->id;
            $form->save();
        }
    }

    return back()->with('success', 'Your images has been successfully');

}

问题:

  1. 为什么没有错误信息?上传失败时只出现白屏。(也许在 laravel 配置文件之一中有必要的配置?
  2. 为什么它适用于较小的图像?在 xampp 和网络空间中的哪个位置是必要的配置?

根据我的 phpinfo 文件,我定义了以下值:(xampp 上的本地)

post_max_size = 8M
upload_max_filesize = 10M

在我的网站上,每个都是 200M。这个值应该够高了吧?

标签: laravellaravel-5laravel-5.1

解决方案


由于它适用于较小的文件,我猜这与您的 PHP 配置有关,而不是您的代码。您应该确保 php.ini 中的这两个设置都足够大(您可以更改这些值以满足您的需要)。

post_max_size = 512M
upload_max_filesize = 512M

您可以运行 phpinfo() 函数来确认服务器的当前设置并确保您的更改已成功。


推荐阅读