Как задать последовательность действий после unlink

Рейтинг: 0Ответов: 1Опубликовано: 01.04.2023

правильно ли будет выполнять два действия одновременно. Сначала удалить файл, а потом все записи в базе? или лучше как-то создать последовательность действий? Как это сделать?

                $delImg = R::getAll("SELECT image FROM articles WHERE id='$id_post'");
                $dir = __DIR__ . '/../img/uploads/image';
                foreach ($delImg as $row) {
                    unlink($dir . $row['image']);
                }
          
                $edd_blog = R::exec("UPDATE articles SET id='$id_post',text='$txt_post',title='$name_post',image='$name' WHERE id='$id_post'");

Ответы

▲ 1

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