Laravel-fopen:无法打开流:权限被拒绝

时间:2018-11-30 08:50:32

标签: php laravel

我正在尝试将图像上传到laravel的/ storage目录。我遇到了错误

  

fopen(C:\ Temp \ AppName \ public):无法打开流:权限被拒绝

这是我用来上传图片的代码

 public  function SaveImage($image){       
    $fileName = time() . '.' . $image->getClientOriginalExtension();
    $path =$image->storeAs('images/users', $fileName);
    return $fileName;
}

我已经授予IUSR和IIS_USER的权限,所以我不明白这是一个权限错误。 在窗口10(IIS 10)上图像上传正常,在窗口7(IIS 7)上由于权限被拒绝而失败。

我使用laravel 5.7和php 7.2.11。

感谢您的帮助,谢谢。

3 个答案:

答案 0 :(得分:1)

我遇到了这个问题。首先,我从项目目录运行php artisan cache:clear,然后运行icacls "app/storage" /grant Users:F,最后运行php artisan dump-autoload,它运行正常。我认为这对您也有帮助!

答案 1 :(得分:0)

我也有这个问题。确保将php.ini文件更改为

; Maximum allowed size for uploaded files.
upload_max_filesize = 40M

; Must be greater than or equal to upload_max_filesize
post_max_size = 40M

说明: php.ini文件的默认设置为

; Maximum allowed size for uploaded files.
upload_max_filesize = 2M

这就是为什么您不能上传大于2 MB的图像。

致谢

答案 2 :(得分:0)

我遇到了同样的错误,但事实证明问题出在图像尺寸上。 PHP对文件上传大小有默认限制,并且在此特定的laravel函数“文件权限”错误中显示,而不是文件太大或其他内容。先尝试较小的图像(<1MB)。