Суть такова: в директории есть несколько файлов. В зависимости от времени должен отдаваться определённый файл с определённого байта. К примеру, в 6:00 клиент получает в ответ на запрос файл № 1 с первого байта, в 6:01 - с 20, в 7:00 - файл №2 и т. д. Заранее благодарен за ответ.
Используйте fseek — Устанавливает смещение в файловом указателе.
<?php
function getDataByTime($time) {
list($hour, $minute) = explode(':', $time);
$minutes = $hour * 60 + $minute;
if ($minutes <= 360) {
// До 6:00
$file = 'file1';
$offset = 0;
} elseif ($minutes > 360 && $minutes <= 420) {
// С 6:01 до 7:00
$file = 'file2';
$offset = 4;
} elseif ($minutes > 420) {
// С 7:01 и позже
$file = 'file2';
$offset = 8;
}
if (file_exists($file)) {
$handle = fopen($file, 'r');
fseek($handle, $offset);
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="'.basename($file).'"');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($file) - $offset);
fpassthru($handle);
exit;
}
}
getDataByTime('7:01');
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Почему не переносит на новую строку в phpПробовал: \n, \r\n,
Как настроить восстановление пароля через электронную пошту используя стандартное обеспечение и PHPMailer?
Пишу компонента по парсингу и записи Rss ленти в инфоблоки, не зная bitrix-аЗдесь результат: https://bitrix