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

Метод getErrorMessage

Метод getErrorMessage принадлежит классу UploadedFile и возвращает человекочитаемое сообщение об ошибке, которая возникла во время загрузки файла на сервер. Если загрузка прошла без ошибок, метод возвращает null. Метод не принимает параметров.

Внутри метод опирается на код ошибки, который хранится в объекте и доступен через метод getError. Код ошибки соответствует константам UPLOAD_ERR_*, определённым в PHP. Метод переводит этот код в текстовое описание, например 'The file "article" was not uploaded due to an unknown error.'.

Синтаксис

public function getErrorMessage(): ?string

Пример

Давайте создадим объект UploadedFile с кодом ошибки и выведем сообщение через getErrorMessage:

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\File\UploadedFile; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Attribute\Route; class FileController extends AbstractController { #[Route('/file/error', name: 'file_error')] public function error(): Response { $file = new UploadedFile( '/tmp/php1234', 'article', null, UPLOAD_ERR_CANT_WRITE, true ); $res = $file->getErrorMessage(); return new Response($res); } } ?>

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

The file "article" was not uploaded due to an unknown error.

Пример

Давайте проверим случай, когда загрузка прошла успешно и код ошибки равен UPLOAD_ERR_OK:

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\File\UploadedFile; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Attribute\Route; class FileController extends AbstractController { #[Route('/file/ok', name: 'file_ok')] public function ok(): Response { $file = new UploadedFile( '/tmp/php5678', 'hello', null, UPLOAD_ERR_OK, true ); $res = $file->getErrorMessage(); if ($res === null) { $res = 'no error'; } return new Response($res); } } ?>

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

no error

Пример

Давайте выведем сообщение об ошибке для превышения максимального размера файла:

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\File\UploadedFile; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Attribute\Route; class FileController extends AbstractController { #[Route('/file/size', name: 'file_size')] public function size(): Response { $file = new UploadedFile( '/tmp/php9012', 'abcde', null, UPLOAD_ERR_INI_SIZE, true ); $res = $file->getErrorMessage(); return new Response($res); } } ?>

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

The file "abcde" exceeds your upload_max_filesize ini directive.

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

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