Laravel 5.1最大图片大小

时间:2018-12-03 12:06:36

标签: laravel laravel-5 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和Webspace中的哪个位置需要进行配置?

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

post_max_size = 8M
upload_max_filesize = 10M

在我的网站空间中,每个都是200M。 这个值应该足够高吗?

3 个答案:

答案 0 :(得分:1)

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

post_max_size = 512M
upload_max_filesize = 512M

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

答案 1 :(得分:0)

答案 2 :(得分:0)

首先,您必须根据您的建议增加php.ini中的值,例如:

upload_max_filesize = 24M 
post_max_size = 32M

在laravel验证中files, size corresponds to the file size in kilobytes. 检查link

尝试使用控制器

return redirect()->back()->with('success', ['your message,here']);