WordPress php返回zip文件头

WordPress php返回zip文件头,php,wordpress,Php,Wordpress,我试图在WordPress的外部API端点中实现强制下载(Zip文件) 以下是我的部分代码: $filename = "info.zip"; $filepath = WP_CONTENT_DIR ."/info_folder/info_sub/"; $fulla = $filepath.$filename; if (headers_sent()) { echo 'HTTP header already sent'; } else { if (!is_file($fulla)) {

我试图在WordPress的外部API端点中实现强制下载(Zip文件)

以下是我的部分代码:

$filename = "info.zip";
$filepath = WP_CONTENT_DIR ."/info_folder/info_sub/";
$fulla = $filepath.$filename;
if (headers_sent()) {
    echo 'HTTP header already sent';
} else {
    if (!is_file($fulla)) {
        header($_SERVER['SERVER_PROTOCOL'] . ' 404 Not Found');
        echo 'File not found';
    } else if (!is_readable($fulla)) {
        header($_SERVER['SERVER_PROTOCOL'] . ' 403 Forbidden');
        echo 'File not readable';
    } else {
        header('content-type: application/zip; charset=utf-8');
        header('Content-disposition: attachment; filename=' . $filename);
        header('Content-Length: ' . filesize($fulla));
        readfile($fulla);
        exit;
    }
}
问题:
在chrome中,它显示ERR_INVALID_响应

这是我得到的标题输出:

HTTP/1.1 404 Not Found
Connection: keep-alive
Content-disposition: attachment; filename=info.zip
Content-Length: 286
Content-Type: application/zip; charset=utf-8
Date: Sun, 10 Apr 2016 19:35:51 GMT

有人能告诉我我到底做错了什么吗?

你发布的代码部分对我来说很好。如果你只使用那一部分而不在那一页上使用其他内容,这对你有用吗?我有很多代码在里面。这就是原因吗@克里斯