Laravel 存储权限为 774 的文件

Laravel store files with permissions 774

我正在失去理智。我通过 laravel API 上传文件,它们存储在文件夹中,文件总是获得权限 644,有什么方法可以将文件存储为 775 吗?

我能以某种方式将它添加到我的函数中吗?

 (0755, true, true)

存储文件的功能:

 $result=$request->file('file_path')->store('apiFiles/'.$idParameter);

感谢您的帮助

在laravel中您可以使用'public''private'磁盘并在配置文件filesystems.php

中设置权限选项

https://laravel.com/docs/8.x/filesystem#permissions

目录的 public 可见性转化为 0755,文件的可见性转化为 0644。您可以在文件系统配置文件中修改权限映射:

'local' => [
    'driver' => 'local',
    'root' => storage_path('app'),
    'permissions' => [
        'file' => [
            'public' => 0664,
            'private' => 0600,
        ],
        'dir' => [
            'public' => 0775,
            'private' => 0700,
        ],
    ],
],

然后您可以像此处建议的那样存储具有特定可见性的文件 https://laravel.com/docs/8.x/filesystem#file-visibility

或者您可以使用内置的 php 函数 chmod()

https://www.php.net/manual/en/function.chmod.php

您可以在创建文件后通过 chmod 命令更改文件权限,如下所示:

$result=$request->file('file_path')->store('apiFiles/'.$idParameter);
chmod('file path',0775);