Как я могу удалить изображение из папки назначения, если форма отменена?

Я сделал форму, в которой изображение должно быть загружено. Когда я заполнил все входные данные, я отправляю его, а затем файл php проверяет значения. Если что-то не так, я возвращаюсь к форме со значениями, которые я заполнил ранее, но если я отменяю издание, загруженное изображение остается в папке назначения, и я не знаю, как его удалить.

insertCategory.php

if ($_SERVER['REQUEST_METHOD'] == 'POST') {

......

// If a file is uploaded the first time and if it is updated
if(is_uploaded_file($_FILES['logo']['tmp_name'])) {
$test = false;
try {
$test = Categoria::testFile($_FILES['logo']);
if ($test) {
$logo = Categoria::uploadFile($_FILES['logo'], '../uploads/logos/');
if ($_POST['currentLogo'] != null) {
Categoria::deleteFile($_POST['currentLogo'], '../uploads/logos/');
}
}
}
catch (Exception $e) {
$errores[] = 'Logo: ' . $e->getMessage();
}
// Logo is not selected and is the first time that the form is filled in, so $_POST['currentLogo'] has the value of $logo that is null.
// Logo is not selected, so it must be null
} else if($_POST['currentLogo'] == null) {
$logo = null;
$errores[] = "El logo es obligatorio, por favor, seleccione una imagen para el logo.";
// Logo is not selected, but it has been selected before, so the logo doesn't change
} else {
$logo = $_POST['currentLogo'];
}

......

else {
$logo = null;
}

form.php

<div class="form-group">
<input type="hidden" name="currentLogo" value="<?php echo $logo; ?>" />
</div>

.....

<div class="form-group">
<label>Logo (*)</label>
<?php if($logo === null) { ?>
<input type="file" name="logo" id="logo" required>
<?php } else { ?>
<p><img src="../uploads/logos/<?php echo $logo; ?>"></p>
<input type="file" name="logo" id="logo">
<?php } ?>
<p class="help-block">Logotipo para la categoría</p>
</div>

....

<div class="form-group">
<button type="submit" class="btn btn-primary">Aceptar</button>
<a href="categorias.php" class="btn btn-primary" role="button">Cancelar</a>
</div>

Как я могу удалить файл логотипа в случае отмены пользователем / обновления?

Заранее спасибо!!

0

Решение

Наконец, я решил создать временную папку для хранения каждого временного файла, и каждое имя файла будет сохранено в массиве. Когда все значения будут проверены, переместите выбранный файл в каталог назначения и удалите остальные непосредственно перед тем, как регистр будет сохранен в базе данных.

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector