Я разработал платформу контента для веб-приложений, которая позволяет пользователям искать и загружать (большие) видеофайлы. Они также могут смотреть файл непосредственно в браузере. Чтобы сделать некоторое управление доступом, я не указываю их непосредственно на файлы mp4/webm, вместо этого используя PHP-скрипт для обработки этого. Мой код в основном на основе примера, приведенного на http://www.media-division.com/php-download-script-with-resume-option/Прерывает ли PHP-скрипт, когда клиент отключается?
Snippet:
set_time_limit(0);
fseek($file, $seek_start);
while(!feof($file))
{
print(@fread($file, 1024*8));
ob_flush();
flush();
if (connection_status()!=0)
{
@fclose($file);
exit;
}
}
Это в основном определяет время выполнения для неограниченного (больших файлов), читает файл последовательно и толкает его к клиенту. Мой вопрос: отменяет ли сценарий, когда клиент прерывает загрузку? Например, при потоковой передаче видео с помощью видеопроигрывателя HTML5 и прекращения просмотра.
ignore_user_abort отключен по умолчанию, и я не включил его в свою конфигурацию. Но функция line connection_status() проверяет, жива ли соединение, и прерывает сценарий, если это не так (я думаю).
Прочитайте это: http://php.net/manual/en/function.ignore -user-abort.php – vaso123
Это не связано с PHP, а скорее с тем, как вызывается PHP (то есть, вероятно, веб-сервер в вашем случае). Сам PHP может работать в течение нескольких часов без каких-либо проблем. –
RTFM: http://php.net/manual/en/function.ignore-user-abort.php –