Я отправляю файлы в помощнике действий для загрузки (частями, если необходимо), например:
...
$response->sendHeaders();
$chunksize = 1 * (1024 * 1024);
$bytesSent = 0;
if ($httpRange) {
fseek($file, $range);
}
while(!feof($file) &&
(!connection_aborted() &&
($bytesSent < $newLength))
) {
$buffer = fread($file, $chunksize);
// $response->appendBody($buffer); // this would be better
print($buffer);
flush();
$bytesSent += strlen($buffer);
}
fclose($file);
Я подозреваю, что лучше использовать объект $response
вместо print
.
Каков рекомендуемый способ отправки больших объектов ответа с помощью Zend Framework?