Задать вопрос

Как в PHP очистить массив «$_FILES»?

<?php
echo <<<_HTML
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Upload File</title>
</head>

<body>
    <form method="POST" action="index.php" enctype="multipart/form-data">
        Select File: <input type="file" name="image01" size="10">
        <input type="submit" value="Upload">
    </form>
</body>

</html>
_HTML;

if ($_FILES) {
    $name = $_FILES["image01"]["name"];
    move_uploaded_file($_FILES["image01"]["tmp_name"], $name);
    rename($name, "files/images/$name");
    echo "Uploaded image '$name'<br><img src='files/images/$name'>";

}


?>

Недавно начал изучать PHP, добрался до загрузки файлов на сервер, но не понимаю один момент. PHP-код выше проверяет был ли загружен файл (посредством простой HTML-формы). Если да, то сохраняет его в соответствующей директории, а после просто выводит на экран (в данном случае, изображение). Но, если после этого перезагрузить страницу, то он снова выводит изображение. Как можно сделать так, чтобы после перезагрузки PHP не думал, что был загружен какой-либо файл?
  • Вопрос задан
  • 867 просмотров
Подписаться 1 Простой 1 комментарий
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
@YashaWeb
Это не сбрасывается, потому что действие post сохраняется в конце браузера и перезагружается (в течение небольшого промежутка времени, так как это всего лишь csv), когда они нажимают F5. Который по сути такой же, как они, используя форму для загрузки другого CSV.

Ты можешь сделать это:
if (isset($_POST['csv'])){
 $DataProcessed = DataProcessingFunction();
}

if (isset($DataProcessed) && $DataProcessed){
  header("Location: /path/to/form/page.php");
  exit();
}

Это очистит почтовые данные, отправленные в предыдущем запросе. При обновлении форма не будет отправлена ​​повторно.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽