Laravel 5文件和图片上传

时间:2016-06-09 13:26:32

标签: php laravel

查看:

<input type="file" name="photo">
<button class="btn">Send</button>
<input type="submit" value="send">    //    I tested by input and button but it also does not work

控制器:

$f = $request->file("photo");
if($f->isValid()){
  echo "upload"
  $f->move("/public/upload/file.png");
}else{
  echo 'not upload';
}

错误:

Fatal error: Call to a member function isValid() on null

我不知道为什么但我无法上传图片到网站。我尝试了很多方法,但没有任何作用。按要求发送文件并收到错误,我尝试使用Request :: file(&#39; photo&#39;)或Input :: file(&#39; photo&#39;) - &gt; isValid()但是它也行不通。

var_dump($request->file('prod_photo'));

如果您将在响应中使用此类代码获取NULL

编辑:

$f = $request->file('photo');
if ($f->isValid()) {
            $ext = $f->getClientOriginalExtension();
            $org_name = $f->getClientOriginalName();
            $r = rand(11111,999999);
$f->move("public/uploads", $r.$org_name);
    //
}

如何更改图像大小并检查文件是否确实是图片?

1 个答案:

答案 0 :(得分:3)

enctype="multipart/form-data"添加到表单

修改

您可以使用验证器轻松检查它,如下所示:

$this->validate($request, [
    'photo' => 'required|image' //works for jpeg, png, bmp, gif, or svg
]);

不幸的是,你不能用原生的php改变图像大小(据我所知),你需要使用ImageMagickGDGlide(需要前一个)