【问题标题】:Laravel store files with permissions 774Laravel 存储权限为 774 的文件
【发布时间】:2021-02-17 01:27:27
【问题描述】:

我正在失去理智。我通过laravel API上传文件,它们存储在文件夹中,文件总是获得644的权限,有没有办法将文件存储为775

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

 (0755, true, true)

存储文件功能:

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

感谢您的帮助

【问题讨论】:

  • 其推荐文件为 644/664 和文件夹 755/775

标签: laravel permissions storage store


【解决方案1】:

在 laravel 中你可以使用'public''private' 磁盘并在配置文件filesystems.php 中设置权限选项

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

公共可见性转换为目录的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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-10-22
      • 2016-03-14
      • 2021-09-06
      • 1970-01-01
      • 2019-03-31
      • 1970-01-01
      • 1970-01-01
      • 2018-02-03
      相关资源
      最近更新 更多