Метод move
Метод move класса Storage применяется для перемещения файлов или целых директорий в другое расположение в файловой системе. Первым параметром передаётся исходный путь к файлу или директории, вторым - целевой путь. Метод возвращает true в случае успешного перемещения или false при возникновении ошибки.
Синтаксис
<?php
Storage::move($from, $to);
?>
Пример
Давайте переместим файл из временной папки в постоянное хранилище:
<?php
use Illuminate\Support\Facades\Storage;
$res = Storage::move('temp/file.txt', 'public/documents/file.txt');
echo $res;
?>
Результат выполнения кода:
"true"
Пример
Давайте переместим целую директорию вместе со всем содержимым:
<?php
use Illuminate\Support\Facades\Storage;
$res = Storage::move('temp/images', 'public/gallery');
echo $res;
?>
Результат выполнения кода:
"true"
Пример
Давайте попробуем переместить файл в несуществующую директорию - Laravel автоматически создаст необходимые папки:
<?php
use Illuminate\Support\Facades\Storage;
$res = Storage::move('temp/data.csv', 'public/reports/2026/data.csv');
echo $res;
?>
Результат выполнения кода:
"true"
Пример
Давайте проверим существование файла перед перемещением и обработаем ошибку:
<?php
namespace AppHttpControllers;
use Illuminate\Support\Facades\Storage;
class FileController extends Controller
{
public function moveFile()
{
$from = 'temp/file.txt';
$to = 'public/documents/file.txt';
if (Storage::exists($from)) {
$res = Storage::move($from, $to);
echo 'File moved successfully';
} else {
echo 'Source file not found';
}
}
}
?>
Результат выполнения кода:
"File moved successfully"
Смотрите также
-
метод
copy,
который копирует файл в новое место -
метод
delete,
который удаляет файлы и директории -
метод
exists,
который проверяет существование файла -
метод
makeDirectory,
который создаёт новую директорию