【问题标题】:how to download a file from file_get_contents?如何从 file_get_contents 下载文件?
【发布时间】:2014-09-24 18:57:46
【问题描述】:

我想通过 file_get_contents 获取一个文件来复制并重命名它,然后触发下载。换句话说,用户点击一个控制器的链接,控制器做业务,然后返回新文件下载。

没关系,到目前为止我唯一不能做的就是重命名并强制下载文件。

【问题讨论】:

    标签: php download rename file-get-contents


    【解决方案1】:

    您可以更改标题并回显文件:

    // Download the file
    header('Content-Disposition: attachment; filename="myfile.csv"');
    header("Content-Type: text/csv");
    header("Content-Length: " . filesize($outputName));
    echo (file_get_contents($outputName));
    unlink($outputName);
    

    【讨论】:

    • +1 到 @deceze 评论,如果输出缓冲被禁用,readfile 将不会使用内存。
    • 好的,谢谢。是否有我可以使用的通用 Content-Type 标头,而不是针对特定扩展?
    • @Stratboy,这取决于您下载的文件类型。有数百种 mimetypes
    • 同时我做了一个小研究:可能只是'Content-Type: application/octet-stream'就很好。我会试试的。
    • 或者您可以使用 $http_response_header 并匹配源的 Content-Type 以自动传递它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-05-18
    • 2015-01-26
    • 2011-10-23
    • 1970-01-01
    • 2020-08-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多