Метод delete
Метод delete класса Storage предназначен для удаления файлов
и каталогов из файловой системы. В качестве первого параметра
метод принимает путь к файлу или каталогу, который необходимо удалить.
Метод возвращает true в случае успешного удаления и false
при возникновении ошибки.
Синтаксис
<?php
use Illuminate\Support\Facades\Storage;
Storage::delete($path);
?>
Пример
Давайте удалим файл с именем 'file.txt' из корня диска 'public':
<?php
use Illuminate\Support\Facades\Storage;
$path = 'file.txt';
$res = Storage::disk('public')->delete($path);
echo $res;
?>
Результат выполнения кода:
true
Пример
Давайте удалим несколько файлов одновременно, передав массив путей:
<?php
use Illuminate\Support\Facades\Storage;
$paths = ['file1.txt', 'file2.txt', 'file3.txt'];
$res = Storage::disk('local')->delete($paths);
echo $res;
?>
Результат выполнения кода:
true
Пример
Давайте проверим существование файла перед удалением:
<?php
use Illuminate\Support\Facades\Storage;
$path = 'document.pdf';
if (Storage::disk('public')->exists($path)) {
$res = Storage::disk('public')->delete($path);
echo $res;
} else {
echo 'File not found';
}
?>
Результат выполнения кода:
true
Пример
Давайте удалим каталог со всем его содержимым:
<?php
use Illuminate\Support\Facades\Storage;
$directory = 'images';
$res = Storage::disk('public')->deleteDirectory($directory);
echo $res;
?>
Результат выполнения кода:
true
Пример
Давайте удалим файл и обработаем возможную ошибку:
<?php
use Illuminate\Support\Facades\Storage;
$path = 'missing_file.txt';
$res = Storage::disk('local')->delete($path);
if ($res) {
echo 'File deleted successfully';
} else {
echo 'Failed to delete file';
}
?>
Результат выполнения кода:
"Failed to delete file"