PHP在文件下载中使用变量

时间:2013-12-06 16:37:30

标签: php file download

我有一个由运行的命令生成的变量。一切似乎工作正常,我得到一个文件下载对话框与正确的文件大小。问题是我无法将我的变量作为实际文件名。它总是$ fullpath作为我的文件名

我尝试了许多不同的方式,包括没有引号

 header('Content-Type: application/download');
    header('Content-Disposition: attachment; filename="$fullpath"');
    header("Content-Length: " . filesize("$fullpath"));

    $fp = fopen("$fullpath", "r");
    fpassthru($fp);
    fclose($fp);

1 个答案:

答案 0 :(得分:1)

PHP不会用单引号'解析变量。使用双引号",但您还需要使用\"将所需的双引号转义为字符串的一部分。

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

或连接变量和字符串。

header('Content-Disposition: attachment; filename="' . $fullpath . '"');

此外,在这些地方添加引号没有任何意义:

filesize($fullpath);
fopen($fullpath);