Zend 2 多路访问
Zend 2 Multiple access
我用 Zend Framework 2 建立了一个商店,您可以在那里购买音乐等数字内容并下载它们。
现在我有以下情况:
我有一个控制所有下载的控制器。我开始下载一个大文件,下载完成需要几分钟时间。下载时,我无法使用下载时使用的同一浏览器浏览我的商店。
是否可以配置 zend 2,以便我在下载时仍然可以浏览我的网站,或者这是不可能的,因为我通过 index.php 文件启动应用程序来执行相同的脚本?
更新
$response = new Stream();
$response->setStream(fopen($finalFilePath, 'r'));
$response->setStatusCode(200);
$response->setStreamName(basename($finalFilePath));
$headers = new Headers();
$headerArr = array(
'Content-Disposition' => 'attachment; filename="' . basename($finalFilePath) .'"',
'Content-Type' => 'application/octet-stream',
'Content-Transfer-Encoding' => 'Binary',
'Content-Length' => filesize($finalFilePath),
);
$headers->addHeaders($headerArr);
$response->setHeaders($headers);
return $response;
找到解决办法。它与会话有关!
打电话
session_write_close();
在 "return".
之前
我用 Zend Framework 2 建立了一个商店,您可以在那里购买音乐等数字内容并下载它们。
现在我有以下情况: 我有一个控制所有下载的控制器。我开始下载一个大文件,下载完成需要几分钟时间。下载时,我无法使用下载时使用的同一浏览器浏览我的商店。
是否可以配置 zend 2,以便我在下载时仍然可以浏览我的网站,或者这是不可能的,因为我通过 index.php 文件启动应用程序来执行相同的脚本?
更新
$response = new Stream();
$response->setStream(fopen($finalFilePath, 'r'));
$response->setStatusCode(200);
$response->setStreamName(basename($finalFilePath));
$headers = new Headers();
$headerArr = array(
'Content-Disposition' => 'attachment; filename="' . basename($finalFilePath) .'"',
'Content-Type' => 'application/octet-stream',
'Content-Transfer-Encoding' => 'Binary',
'Content-Length' => filesize($finalFilePath),
);
$headers->addHeaders($headerArr);
$response->setHeaders($headers);
return $response;
找到解决办法。它与会话有关!
打电话 session_write_close();
在 "return".
之前