Если у вашего сервера заданы задачи cron, вы можете настроить один из них для запуска PHP-скрипта вне общедоступного веб-каталога с «безопасным» шагом (время, в которое они либо загрузили файл, либо выиграли это не получится). Каждый раз, когда скрипт запускается, удаляйте уже отмеченные файлы и отмечайте все остальные файлы. Может выглядеть примерно так, но с реальным кодом:
<?php
// File description: scheduled by cron jobs to run every 12 hours
// Unlink all the marked files
// Mark all files in directory
Вы можете сохранить имя размеченных файлов в текстовом документе (также за пределами вашего общедоступного веб-каталога), например. Таким образом, пользователи, как минимум, так долго загружают файл.
Какова ваша серверная технология? –
У меня такое чувство, что смотреть на журналы сервера - единственный способ убедиться. –
Я бы предложил использовать сценарий для прокси загрузки. Когда скрипт завершен, файл, очевидно, выполнен, поэтому его можно удалить. Что-то вроде: 'readfile ($ file); unlink ($ file); ' –