Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/261.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在php中打印$name值_Php_Html - Fatal编程技术网

在php中打印$name值

在php中打印$name值,php,html,Php,Html,我正在尝试打印$name的值 但它一直打印$name而不是值,这是一行: header('Content-Disposition: attachment; filename="$name"'); 试着这样做: header('Content-Disposition: attachment; filename='.$name); 试着这样做: header('Content-Disposition: attachment; filename='.$name); 字符串插值不会发生在单引号之间

我正在尝试打印$name的值

但它一直打印$name而不是值,这是一行:

header('Content-Disposition: attachment; filename="$name"');
试着这样做:

header('Content-Disposition: attachment; filename='.$name);
试着这样做:

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

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

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

更多详细信息。

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

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

更多细节。

PHP将只计算双引号字符串中的变量,而不是像您在示例中使用的单引号字符串

如果需要在双引号字符串中输出双引号,请尝试此操作,您需要使用反斜杠对其进行转义,否则PHP会将其视为字符串结尾分隔符:

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

PHP将只计算双引号字符串中的变量,而不是像您在示例中使用的单引号字符串

如果需要在双引号字符串中输出双引号,请尝试此操作,您需要使用反斜杠对其进行转义,否则PHP会将其视为字符串结尾分隔符:

header("Content-Disposition: attachment; filename=\"$name\"");
处理单引号字符串时,始终连接变量

header('Content-Disposition: attachment; filename="' . $name . '"');
处理单引号字符串时,始终连接变量

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

我想这就是你想要的

header('Content-Disposition: attachment; filename="'.$name.'"');
这将产生如下标题:

Content-Disposition: attachment; filename="some_file_name.ext"
希望这有帮助

另一种方法是使用sprintf


实际上并不需要sprintf,但它可以向您展示如何将变量放入头字符串中

我想这就是您想要的

header('Content-Disposition: attachment; filename="'.$name.'"');
这将产生如下标题:

Content-Disposition: attachment; filename="some_file_name.ext"
希望这有帮助

另一种方法是使用sprintf

实际上并不需要sprintf,但它可以向您展示如何将变量放入头字符串中

为什么不使用“like:

你为什么不直接用“喜欢”而不是“喜欢”:


在右括号之前有一个额外的“at”。在右括号之前有一个额外的“at”。如果$name包含空格,这将中断,因此他的原始代码将其包装为双引号。如果$name包含空格,这将中断,这就是为什么他的原始代码用双引号括起来的原因。ORIGNINAL:header'Content-Disposition:attachment;filename=HELLO';我试图使它成为一个变量,其中hello是,但filename命令需要双精度quotes@Matthew印刷的是什么是另一个问题。您应该询问如何执行手动下载,而不是这个愚蠢的语法问题。+1用于解释单引号和双引号之间的区别;filename=HELLO';我试图使它成为一个变量,其中hello是,但filename命令需要双精度quotes@Matthew印刷的是什么是另一个问题。您应该询问如何执行手动下载,而不是这个愚蠢的语法问题。+1用于解释单引号和双引号之间的差异。但是文件名需要双引号,并且需要在结尾处使用另一个引号。但是文件名需要双引号,并且需要在结尾处使用另一个引号。我几乎每天都这样做,我向您保证我的方法是正确的,您的变量很可能为null或不正确。请显示更多的代码,如果是你否决了我,请你不要否决回答你问题的答案,如果答案不起作用,我向你保证这是你代码的另一部分。我几乎每天都这样做,我向你保证我的方法是正确的,很可能你的变量是空的或不正确的。请展示更多的代码,如果是你否决了我,请你不要否决回答你问题的答案,如果答案不起作用,我向你保证这是你代码的另一部分。