我有一个由运行的命令生成的变量。一切似乎工作正常,我得到一个文件下载对话框与正确的文件大小。问题是我无法将我的变量作为实际文件名。它总是$ 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);
答案 0 :(得分:1)
PHP不会用单引号'
解析变量。使用双引号"
,但您还需要使用\"
将所需的双引号转义为字符串的一部分。
header("Content-Disposition: attachment; filename=\"$fullpath\"");
或连接变量和字符串。
header('Content-Disposition: attachment; filename="' . $fullpath . '"');
此外,在这些地方添加引号没有任何意义:
filesize($fullpath);
fopen($fullpath);