РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
671 of 1361 menu

Метод move класса UploadedFile

Метод move класса UploadedFile перемещает загруженный через форму файл из временной директории в целевую папку проекта. Первым параметром передаётся путь к директории назначения, вторым - желаемое имя файла. Если имя не указано, используется оригинальное имя загруженного файла.

Синтаксис

public function move(string $directory, string $name = null): File

Пример

Давайте переместим загруженный файл в директорию 'uploads':

<?php namespace AppController; use SymfonyBundleFrameworkBundleControllerAbstractController; use SymfonyComponentHttpFoundationRequest; use SymfonyComponentHttpFoundationResponse; use SymfonyComponentHttpFoundationFileUploadedFile; use SymfonyComponentRoutingAttributeRoute; class UploadController extends AbstractController { #[Route('/upload', name: 'upload_file')] public function upload(Request $request): Response { /** @var UploadedFile $file */ $file = $request->files->get('file'); $file->move('uploads', 'article.txt'); return new Response('File uploaded'); } } ?>

Результат выполнения кода:

"File uploaded"

Пример

Давайте переместим файл без указания имени - тогда будет использовано оригинальное имя загруженного файла:

<?php namespace AppController; use SymfonyBundleFrameworkBundleControllerAbstractController; use SymfonyComponentHttpFoundationRequest; use SymfonyComponentHttpFoundationResponse; use SymfonyComponentHttpFoundationFileUploadedFile; use SymfonyComponentRoutingAttributeRoute; class UploadController extends AbstractController { #[Route('/upload', name: 'upload_file')] public function upload(Request $request): Response { /** @var UploadedFile $file */ $file = $request->files->get('file'); $file->move('uploads'); return new Response($file->getClientOriginalName()); } } ?>

Результат выполнения кода:

"article.txt"

Пример

Давайте сохраним перемещённый файл в переменную и выведем его путь через метод getPathname:

<?php namespace AppController; use SymfonyBundleFrameworkBundleControllerAbstractController; use SymfonyComponentHttpFoundationRequest; use SymfonyComponentHttpFoundationResponse; use SymfonyComponentHttpFoundationFileUploadedFile; use SymfonyComponentRoutingAttributeRoute; class UploadController extends AbstractController { #[Route('/upload', name: 'upload_file')] public function upload(Request $request): Response { /** @var UploadedFile $file */ $file = $request->files->get('file'); $res = $file->move('uploads', 'article.txt'); return new Response($res->getPathname()); } } ?>

Результат выполнения кода:

"uploads/article.txt"

Смотрите также

  • класс UploadedFile,
    который представляет загруженный через форму файл
  • метод getClientOriginalName,
    который возвращает оригинальное имя загруженного файла
  • метод getClientMimeType,
    который возвращает MIME-тип загруженного файла
  • метод isValid,
    который проверяет, был ли файл успешно загружен
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить