Метод getVisibility
Метод getVisibility применяется к экземпляру Storage
и возвращает строку, указывающую уровень доступа к файлу.
Метод принимает один обязательный параметр - путь к файлу
в виде строки. Возвращаемое значение может быть либо
'public', либо 'private'. Если файл не существует,
метод выбрасывает исключение FileNotFoundException.
Синтаксис
<?php
use Illuminate\Support\Facades\Storage;
$visibility = Storage::getVisibility($path);
?>
Пример
Давайте получим уровень доступа для существующего файла:
<?php
use Illuminate\Support\Facades\Storage;
$path = 'documents/report.pdf';
$visibility = Storage::getVisibility($path);
echo $visibility;
?>
Результат выполнения кода:
"public"
Пример
Давайте проверим уровень доступа для файла с приватным доступом:
<?php
use Illuminate\Support\Facades\Storage;
$path = 'private/secret.txt';
$visibility = Storage::getVisibility($path);
if ($visibility === 'private') {
echo 'File is private';
} else {
echo 'File is public';
}
?>
Результат выполнения кода:
"File is private"
Пример
Давайте получим уровень доступа для файла и используем его в условии:
<?php
use Illuminate\Support\Facades\Storage;
$path = 'images/photo.jpg';
$visibility = Storage::getVisibility($path);
switch ($visibility) {
case 'public':
echo 'File is publicly accessible';
break;
case 'private':
echo 'File is private';
break;
default:
echo 'Unknown visibility';
}
?>
Результат выполнения кода:
"File is publicly accessible"
Пример
Давайте проверим, является ли файл публичным:
<?php
use Illuminate\Support\Facades\Storage;
$path = 'uploads/document.pdf';
if (Storage::getVisibility($path) === 'public') {
echo 'File can be accessed via public URL';
} else {
echo 'File requires authentication';
}
?>
Результат выполнения кода:
"File can be accessed via public URL"
Смотрите также
-
метод
setVisibility,
который устанавливает уровень доступа для файла -
метод
exists,
который проверяет существование файла -
метод
url,
который возвращает публичный URL для файла -
метод
put,
который сохраняет файл в хранилище