Как Сделать чтобы имя файла отправилось?

public function add(): void
{
    if ($this->user === null) {
        throw new UnauthorizedException();
    }

    if ($this->user->getRole() == 'user') {
        throw new ForbiddenException();
    }elseif($this->user->getRole() == 'admin'){
    if (!empty($_POST)) {
        try {

            $article = Article::createFromArray($_POST, $this->user);
        } catch (InvalidArgumentException $e) {
            $this->view->render('add.tpl', ['error' => $e->getMessage()]);
            return;
        }

        header('Location: /articles/' . $article->getId(), true, 302);
        exit();
    }

Форма

    <h1>Создание новой статьи</h1>
    <?php if(!empty($error)): ?>
        <div style="color: red;"><?= $error ?></div>
    <?php endif; ?>
    <form action="/admin/articles/add" method="post" enctype='multipart/form-data'>
        <label for="name">Название статьи</label><br>
        <input type="text" name="title" id="title" value="<?= $_POST['title'] ?? '' ?>" size="50"><br>
        <br>
           <label for="text">Описание  статьи</label><br>
        <textarea name="info" id="info" rows="10" cols="80"><?= $_POST['info'] ?? '' ?></textarea><br>
        <br>
        <label for="text">Текст статьи</label><br>
        <textarea name="full" id="full" rows="10" cols="80"><?= $_POST['full'] ?? '' ?></textarea><br>
        <br>
        <label for="text">Изоброжение</label><br>
       <input id="img" name="img" type="file"><?= $_POST['img'] ?? '' ?>
        <input type="submit" value="Создать">
    </form>

Ответы (1 шт):

Автор решения: e_v_medvedev

При первой загрузке файла с клиента на сервер, он сбрасывается во временный файл, откуда его потом надо переместить в нужное вам место. См. https://www.php.net/manual/ru/function.move-uploaded-file.php

→ Ссылка