使用php从服务器下载文件后立即重定向到任何URL

时间:2016-08-22 11:10:41

标签: php

头("位置:的index.php&#34);对我不起作用。

$ file是文件的路径。

if (file_exists($file)) {
    header('Content-Description: File Transfer');
    //header('Content-Type: application/octet-stream');
    header('Content-Disposition: attachment; filename="'.basename($file).'"');
    header('Expires: 0');
    header('Cache-Control: must-revalidate');
    header('Pragma: public');
    header('Content-Length: ' . filesize($file));
    header("Content-Type: application/force-download");
    readfile($file);

    header("location:index.php");
    exit;
}

1 个答案:

答案 0 :(得分:0)

您的浏览器会调用服务器。服务器用标题响应("我将发送文件")并发送内容。浏览器读取标题,而不是显示它提供您保存文件的新页面。所有进一步的行动都会被忽略。

如果您想同时下载和重定向文件,则必须将下载请求发送到另一个容器(新标签,新窗口,iframe),然后使用javascript将主窗口重定向到其他位置。