我有以下用于下载 zip 文件的 PHP 脚本:
header("Content-length:".filesize($archive_file_name));
header('Content-Type: application/zip'); // ZIP file
header('Content-Disposition: attachment; filename="downloadpackage.zip"');
header('Content-Transfer-Encoding: binary');
readfile($archive_file_name);
exit();
但它不会强制下载 zip 文件,而是显示许多不寻常的字符,如下所示:
PK[�FA����#�X$D:\voice_06101243342pm014771957.wav�|�s]�y���b�CI\��{2m��M'�Eibu2\@B����{� 6b# $H,\@��:��Z�(q�����ә���Y��q�����,����� d��y��O�tp$ PĽg��w}��}�r֯[7�u�"w���|o�7/Z��ˋ^Z������Ң�ZTZ\S|N����c� X8��c�X8��c�X8��c�X8��c�X8����2,��a�oA*=���do:��|ˉ'rb�|�L2� *^�:q}/��\�s�Z?��G�[��=ϗ?
我还在 headers 函数之前放置了以下代码:
if (headers_sent())
{
// HTTP header has already been sent
return false;
}
// clean buffer(s)
while (ob_get_level() > 0)
{
ob_end_clean();
}
这忽略显示那些字符和 zip 也不是强制下载。我无法弄清楚问题,请帮助我,将不胜感激。