For a number of adapters, the visibility settings are based on unix-style permissions. Since every one of these are the same, a general implementation is provided in Flysystem.
At the base of this module is the
League\Flysystem\UnixVisibility\VisibilityConverter interface. This
interface is implemented by the
League\Flysystem\UnixVisibility\PortableVisibilityConverter interface. Every adapter
provided by Flysystem uses a standard way of specifying
visibility options. This allows you to have portability between adapters.
However, if your needs require something more specific, this interface allows
you to implement something that makes sense for your case.
Specifying your own portable visibility
use League\Flysystem\UnixVisibility\PortableVisibilityConverter; $visibilityConverter = PortableVisibilityConverter::fromArray([ 'file' => [ 'public' => 0640, 'private' => 0604, ], 'dir' => [ 'public' => 0740, 'private' => 7604, ], ]);