Мне интересно, как такие компании, как Snapchat, выполняют свою функцию удаления. Если я собираюсь создать такую функцию, как Snapchat, файл (изображения, видео) будут удалены через 24 часа, когда видео было загружено конкретным пользователем. sleep
в php через 24 часа.
<?php
**upload code goes here**
sleep(24);
**delete code goes here**/
?>
Я знаю, что это не лучший способ сделать это. Я искал вокруг и нашел то, что называется cron job, с помощью которого вы можете выполнить php-код в назначенное время. Но я хочу удалить конкретный файл, который загружается пользователем через 24 часа, а не конкретное время, когда администратор выполняет удаление. Есть лучший способ сделать это? Спасибо
Определенно не используйте sleep, потому что это заблокирует ваш PHP-процесс, не позволяя ему делать что-либо еще. Это не будет масштабироваться.
В этом случае вы не создадите одно задание cron для каждого удаляемого файла. Вместо этого вы сохраняете временную метку с данными, затем запускаете одно задание cron каждые 15 минут или около того и ищите временные метки старше 24 часов. Затем удалите эти записи / файлы.
Других решений пока нет …