2016-06-09 102 views
0

查看:Laravel 5文件和图片上传

<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('photo')或Input :: file('photo') - > 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); 
    // 
} 

我怎样才能改变图像大小,并检查文件是否是肯定的图片?

回答

2

添加enctype="multipart/form-data"到窗体

编辑:

您可以轻松地验证检查,像这样:

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

Unfortunelyü不能改变图像大小与本地的PHP(如我知道),你需要使用ImageMagick,GDGlide(它需要以前的一个)

+0

如何更改图像大小并检查文件是否为图片?我改变了问题并添加了代码,你可以检查它吗? – bradley546994