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

标签 php laravel laravel-5

我正在尝试通过 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>

路由(web.php)代码:

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

Controller 代码:

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_filesizepost_max_size,或者尝试使用较小的文件来检查它是否有效。

关于php - Laravel:文件上传不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48444034/

相关文章:

php - 并排合并两个数组,其中一个可以比另一个短

php - 如何制作(制作: auth) Laravel 6 for api without installing ui

php - Laravel 5 运行队列 :work on laravel schedule

php - Yii 生成和打印报告

php - 找不到文件 nginx php-fpm

php - 如何在 codeigniter 中对多个文本字段使用相同的回调函数

php - Laravel 5.0 的 Route::post 渲染一个空页面,为什么 Route::get 工作正常时会出现这种情况

php - Laravel 5.3,用图像替换分页链接(<< 和 >>)

php - Laravel - 类型错误 : Too few arguments?

testing - 如何在 Laravel 测试前设置 cookie?