Как в 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 не думал, что был загружен какой-либо файл?
  • Вопрос задан
  • 74 просмотра
Пригласить эксперта
Ответы на вопрос 1
YashaWeb
@YashaWeb
php and js developer
Это не сбрасывается, потому что действие post сохраняется в конце браузера и перезагружается (в течение небольшого промежутка времени, так как это всего лишь csv), когда они нажимают F5. Который по сути такой же, как они, используя форму для загрузки другого CSV.

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

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

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

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

Войти через центр авторизации
Похожие вопросы
Spice IT Recruitment Москва
До 230 000 ₽
Smart Медицина Москва
от 150 000 ₽
Playkot Санкт-Петербург
от 150 000 до 200 000 ₽