Laravel Storage SFTP и разрешения для загружаемых файлов - PullRequest
0 голосов
/ 28 марта 2019

Я использую Storage: SFTP (league / flysystem-sftp) для загрузки некоторых файлов на внешний сервер. Все идет хорошо с небольшой проблемой: файлы загружаются с разрешением 0644 (-rw-r - r--). Я пытался использовать опцию public для метода put в качестве примера из документации, например

Storage::disk('remote-sftp')->put($filename, $contents, 'public');

но в случае сбоя возвращает FALSE и не загружает файл.

Если я удаляю параметр public, все идет хорошо, но с неверными правами доступа к файлу.

Есть ли способ установить права доступа к загруженному файлу, например, 0666?

Ответы [ 2 ]

0 голосов
/ 03 апреля 2019

Наконец, решение было комбинацией ответа и конфигурации Alpy. Вызов setVisibility () прошел без сбоев, но сохранил разрешения в 0644. При копировании в драйвер FTP / SFTP обнаружилось, что у «открытого» разрешения есть шаблон, который можно назначить в конфигурации с помощью ключа «permPublic», поэтому запись производится в config / filesystems. php желаемое восьмеричное разрешение, оно работало так, как предполагалось.

  'disks' => [

    'local' => [
        'driver' => 'local',
        'root' => storage_path('app'),
    ],

    'public' => [
        'driver' => 'local',
        'root' => storage_path('app/public'),
        'url' => env('APP_URL').'/storage',
        'visibility' => 'public',
    ],

    'remote-sftp' => [
        'driver' => 'sftp',
        'host' => '222.222.222.222',
        'username' => 'myuser',
        'password' => 'mypassword',
        'visibility' => 'public',
        'permPublic' => 0766, /// <- this one did the trick
// 'port' => 22,
        'root' => '/home',
// 'timeout' => 30,
    ],

],

];

0 голосов
/ 28 марта 2019

Пожалуйста, попробуйте это:

Storage::disk('remote-sftp')->put($filename, $contents)->setVisibility( $filename, 'public');

при условии, что имя файла также имеет путь ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...