使用PHP下载文件

时间:2017-08-04 01:29:39

标签: php apache mysqli

我在使用apache服务器上的php下载文件时遇到了一些麻烦。当请求文件时,它会返回并下载,但是,当尝试打开文件时,它表示该文件可能包含无效字符。我尝试了php.net网站上的代码,仍然得到相同的响应。我的问题是我有什么不做或做错了吗?我的PHP代码如下。

        //result is filename from db
    if($result){
        $row   = $database->fetch_array($result);
        $file_name = '../uploads/'.$row['filename'];
        if(file_exists($file_name)){
            header("Content-Disposition: attachment; filename=\"$file_name\"");
            header("Pragma: public");
            header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
            readfile($file_name);
        }


    }

1 个答案:

答案 0 :(得分:0)

manual for PHP header()开始,您可以指定最终用户的文件名以及服务器的相对路径。

尝试更改此行;

header("Content-Disposition: attachment; filename=\"$file_name\"");

要;

header("Content-Disposition: attachment; filename=\"$row['filename']\"");