Метод isValid
Метод isValid класса UploadedFile возвращает логическое значение true, если файл был успешно загружен через HTTP-запрос, и false в противном случае. Метод не принимает параметров. Он проверяет код ошибки загрузки, который хранится внутри объекта. Если код равен UPLOAD_ERR_OK, метод возвращает true. Этот метод часто используется перед вызовом move, чтобы убедиться в корректности загруженного файла.
Синтаксис
public function isValid(): bool
Пример
Давайте создадим контроллер, который принимает файл из формы и проверяет его валидность с помощью метода isValid:
<?php
namespace App\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Attribute\Route;
class UploadController extends AbstractController
{
#[Route('/upload', name: 'upload_file')]
public function upload(Request $request): Response
{
$file = $request->files->get('document');
if ($file && $file->isValid()) {
return new Response('File is valid');
}
return new Response('File is not valid');
}
}
?>
Результат выполнения кода при успешной загрузке файла:
"File is valid"
Пример
Давайте проверим валидность файла и выведем сообщение об ошибке, если файл не был загружен:
<?php
namespace App\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Attribute\Route;
class UploadController extends AbstractController
{
#[Route('/upload/check', name: 'upload_check')]
public function check(Request $request): Response
{
$file = $request->files->get('document');
if (!$file || !$file->isValid()) {
$error = $file ? $file->getErrorMessage() : 'No file uploaded';
return new Response('Error: ' . $error);
}
return new Response('Upload successful');
}
}
?>
Результат выполнения кода при ошибке загрузки:
"Error: The file was not uploaded due to an unknown error."
Смотрите также
-
класс
UploadedFile,
который представляет загруженный файл -
метод
getError,
который возвращает код ошибки загрузки -
метод
getErrorMessage,
который возвращает текст ошибки загрузки -
метод
move,
который перемещает загруженный файл в нужную директорию