权限问题laravel 5 storeas()

时间:2016-11-27 14:47:59

标签: php laravel-5

所以我在带有Xampp的Windows 10机器上使用laravel。

我正在尝试将文件从表单上传到存储/ app / images /,但每次我尝试这样做时,我都会出现一个Permission问题。

  

FilesystemAdapter.php第119行中的ErrorException:   fopen(C:\ xampp \ htdocs \ test \ public):无法打开流:权限   拒绝

我上传文件的功能是

$request->file('imgurl')->storeAs('images',request()->file('imgurl')->getClientOriginalName());
return back();

我做过的事情

  1. 检查文件是否正在传递,dd($request->getClientOriginalName())返回文件原始名称
  2. 检查了storage / images文件夹的权限。它们设置为755(drwxr-xr-x 1)
  3. php artisan cache:clearchmod -R 777 app/storagecomposer dump-autoload

2 个答案:

答案 0 :(得分:1)

这是一个旧线程,但我遇到了同样的问题并弄明白了。当文件上载失败时会发生这种情况。 当文件上传失败时,文件的realPath变量将指向Laravel的public文件夹,而不是上传的文件(因为没有)。

因此,在您的代码中,您应该检查文件上载是否成功:

<?php
if($request->hasFile('imgurl'))
{
    // You can store the uploaded file here
}

如上所述,问题的根源是上传问题。你可以检查几件事。

  1. 上传是否超过upload_max_filesize
  2. 上传是否超过post_max_size
  3. 您对upload_tmp_dir
  4. 中定义的目录拥有正确的权限吗?

答案 1 :(得分:0)

检查您的文件大小是否超过&#39; upload_max_filesize&#39;在php.ini文件中通知限制。