在PHP中打印$ name值

时间:2010-10-13 12:16:51

标签: php html

我正在尝试打印出$name

的值

但它继续打印$name而不是这里的值是行:

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

7 个答案:

答案 0 :(得分:4)

PHP只会评估双引号字符串中的变量,而不是像您在示例中使用的单引号字符串。

尝试这样做(如果需要在双引号字符串中输出双引号,则需要使用反斜杠转义它们,否则PHP会将它们视为字符串结尾分隔符):

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

答案 1 :(得分:2)

单引号之间不会发生字符串插值。

$name = "test";
echo "Value: $name"; // Value: test
echo 'Value: $name'; // Value: $name

更多详情here

答案 2 :(得分:2)

我认为这就是你要找的东西

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

这会产生如下标题:

Content-Disposition: attachment; filename="some_file_name.ext"

希望这有帮助

另一种方法是使用sprintf

$header = sprintf('Content-Disposition: attachment; filename="%s"',$name);
header($header);

sprintf并不是真的需要,但会向您展示如何将变量放入标题字符串

答案 3 :(得分:1)

处理single-quoted字符串时,总是连接变量。

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

答案 4 :(得分:0)

试试这样:

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

答案 5 :(得分:0)

为什么不使用"代替',如:

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

答案 6 :(得分:-1)

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