您好,我正在使用 PHP Web 服务上的函数 readfile() 将文件下载到 iOS 上的应用程序,我想知道文件是否已正确下载,但我不知道该怎么做。
所以我正在尝试做一些回显以了解文件是否已像这样下载:
echo "before";
readfile($file);
echo "after";
但我得到的回应是这样的:
beforePK¿¿¿
谁知道这是什么意思,或者我怎么知道文件是否下载正确?
更新: 是的,这是一个 zip 文件,这是我的标题
header("Cache-Control: public");
header("Content-Description: File Transfer");
header("Content-Disposition: attachment; filename=$ticket");
header("Content-Type: application/zip");
header("Content-Transfer-Encoding: binary");
最佳答案
您正在尝试输出 zip 文件的内容,对吗?
readfile($file)
与 echo file_get_contents($file)
的工作原理相同。如果您尝试向某人提供要下载的文件,不要添加任何额外的输出,否则您可能会破坏文件。
我还建议您阅读 header功能。这样您就可以明确地告诉浏览器您正在发送一个文件,而不是具有类似文件内容的 HTML 页面。 (参见涉及 Content-Type
的示例)
关于php - "PK¿¿¿"响应在 PHP 中意味着什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17353518/