Laravel 5.2多个file_get_contents()无法使用prod

时间:2016-12-13 15:50:01

标签: php apache laravel amazon-s3

我有一个表单,可以在表单的不同部分接受多个图像(徽标,封面,缩略图)。我试图将这些内容上传到亚马逊s3。在我的控制器中:

public function store(Request $request){

  Storage::disk('s3')->put(
    $request->user()->id.'/thumbnail.png',
    file_get_contents($request->file('thumbnail')),
    'public'
  );
  Storage::disk('s3')->put(
    $request->user()->id.'/cover.png',
    file_get_contents($request->file('cover')),
    'public'
  );
  Storage::disk('s3')->put(
    $request->user()->id.'/logo.png',
    file_get_contents($request->file('logo')),
    'public'
  );

}

我能够在localhost上传和获取此上传图片的网址但我得到" file_get_contents:文件名不能为空错误" 有关亚马逊的制作带LAMP的linux实例。我做错了什么?

1 个答案:

答案 0 :(得分:3)

您应该检查文件是否已上传:

if ($request->hasFile('thumbnail'))
   Storage::disk('s3')->put(
        $request->user()->id.'/thumbnail.png',
        file_get_contents($request->file('thumbnail')),
        'public'
   );
}

https://laravel.com/docs/5.3/requests#files