脚本宝典收集整理的这篇文章主要介绍了PHP无法访问新创建的zip文件,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。@H_512_0@
>用户点击链接download_all.
>第一个PHP脚本创建存档.
>接下来,相同的脚本推送创建的文件以强制用户下载.
一切听起来都很正常,但我有奇怪的行为,创建zip存档后(第2点)PHP / server无法看到这个新创建的文件.
$filePath上的filesize和file_exists都返回false但文件存在.我不能读文件为什么?
当我将用户重定向到$filePath(而不是阅读它并推送下载)时,一切正常,用户获取文件.但为什么我不能在“脚本生命周期”中访问新创建的文件? $path是正确的.
在Windows 7和Unix上测试过.
任何的想法?
码:
public function downloadAll($id) { $sourceFilesDir = 'upload/source/' . $id; $zipPath = 'upload/source-zip/' . date('Y-m-d-H-i-s') . '.zip'; Zipper::make($zipPath)->add($sourceFilesDir); $fullPath = public_path($zipPath); // works // return response()->redirectTo($zipPath); $headers = [ 'Content-type: application/zip','Content-transfer-encoding: Binary','Content-Length: ' . filesize($fullPath),]; // dont works,cant see file return response()->download($fullPath,basename($zipPath),$headers); }
以上是脚本宝典为你收集整理的PHP无法访问新创建的zip文件全部内容,希望文章能够帮你解决PHP无法访问新创建的zip文件所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。