Обновление статичного файла

У меня есть статичный файл (zip), который обновляется по крону, в тоже время есть апи через которое может идти сотни запросов на его скачивание (по прямому url, типа site.com/file.zip). Как правильно заменять этот файл на новый что бы никто из клиентов в какой-то момент времени не получил битые данные?


Ответы (1 шт):

Автор решения: Khiel

Организуйте файл, который будет выдавать этот zip вместо прямой ссылки например http://url/zip.php

header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="filename.xip"'); 
header('Content-Transfer-Encoding: binary');
for($i=0;$i<5;$i++)
{
    if(is_writable('/путь до файла zip относительно положения zip.php'))
    {
        $ct=file_get_contents('/путь до файла zip относительно положения zip.php');
        echo $ct;
        die();
    }
    else
    {
        sleep(1);
    }
}
→ Ссылка