微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – Laravel:文件上传不起作用

我正在尝试通过Laravel 5.5中的HTML表单上传图像.我已经包含了enctype =“multipart / form-data”属性,但仍然没有任何反应.

表格代码

<form method="POST" enctype="multipart/form-data">
  {{ csrf_field() }}
  <div class="form-group">
    <label for="m_photo" class="col-md-4 control-label">Main photo</label>
    <div class="col-md-6">
      <input id="m_photo" type="file" class="form-control-file space" name="m_photo" required>
    </div>
  </div>

  <div class="form-group">
    <div class="col-md-6 col-md-offset-4">
      <button type="submit" class="btn btn-primary">Submit</button>
    </div>
  </div>
</form>

Route(web.PHP)代码

Route::post('smartphones/entry', 'HomeController@s_submit')->name('s_submit');

控制器代码

public function s_submit() {
  if (Input::hasFile('m_photo')) {
      // doing something
  }

  else {
      echo 'nothing happened';
  }
}

当我提交表格时,“没有发生任何事情”得到了回应.

有趣的是,当我这样做时:

public function s_submit(Request $request) {
    $input = Input::all();
    dd($input);
}

我知道了:

array:1 [
"m_photo" => UploadedFile {#210 ▶}
]

这就像图像越过了,但我无法检索它.请帮忙.

解决方法:

PHP max_file_size未设置为允许发送您尝试上载的文件的大小时,可能会发生这种情况.这会导致hasFile返回false,例如,当file-> getClientOriginalName()工作时.

尝试检查PHP.ini中的upload_max_filesize或post_max_size,或尝试使用较小的文件来检查它是否有效.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐