【发布时间】:2016-09-26 05:26:39
【问题描述】:
我想在下载后删除 zip 文件。我尝试以下代码。但它显示错误
$response = new \Zend\Http\Response\Stream();
$response->setStream(fopen($zipname, 'r'));
$response->setStatusCode(200);
$headers = new \Zend\Http\Headers();
$headers->addHeaderLine('Content-Type', 'application/octet-stream')
->addHeaderLine('Content-Disposition', 'attachment; filename='.basename($zipname))
->addHeaderLine('Content-Length', filesize($zipname));
$response->setHeaders($headers);
unlink($zipname);
return $response;
下载后,我在记事本中打开下载的文件,显示如下:
取消链接(D:\xampp\htdocs\medgenom\development\uploads/Bulk_formE_Download_0.91481200 1474869559.zip):权限被拒绝
【问题讨论】:
-
看起来您在向客户端发送响应之前要删除文件?你真的应该向我们展示你遇到的错误......
-
我更新了@MagnusEriksson 的问题
-
就像消息说的那样,运行 PHP 的用户似乎没有删除文件的权限。
-
不,我可以使用取消链接功能删除其他文件。删除使用 php.ini 创建的 zip 文件时出现此问题。 @MagnusEriksson
标签: php download zend-framework2 zip