我的代码如下:
header("Content-Disposition: attachment; filename=\"pdf_practice_sheet_90_with_header_8.pdf\"");
现在这里没有硬编码的名称值,即 pdf_practice_sheet_90_with_header_8.pdf 我想以下列方式使用我的变量之一的动态值:
header("Content-Disposition: attachment; filename=\".$practice_sheet_details['practice_sheet_name'].".pdf\"");
但我收到的错误如下:
PHP Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in pdf_practice_sheet.php on line 91
Errors parsing pdf_practice_sheet.php
实际上我想将文件名用作变量$practice_sheet_details['practice_sheet_name']
的值,并将该名称与.pdf扩展名连接,但我无法正确获取它。任何人都可以帮我解决这个问题吗?
答案 0 :(得分:3)
像这样使用:
$filename = $practice_sheet_details['practice_sheet_name'];
header("Content-Disposition: attachment; filename=\"" . $filename . ".pdf\"");
此外,由于文件名可以是任何内容,我建议转义:
$filename = $practice_sheet_details['practice_sheet_name'] . ".pdf";
header("Content-Disposition: attachment; filename=\"".urlencode($filename)."\"");
我相信urlencode
是正确的逃避使用但不要限制我。
答案 1 :(得分:1)
您在filename=\"
之后错过了引用。
header("Content-Disposition: attachment; filename=\"".$practice_sheet_details['practice_sheet_name'].".pdf\"");
答案 2 :(得分:0)
你可以这样做:
header("Content-Disposition: attachment; filename=\"".$practice_sheet_details['practice_sheet_name'].".pdf\"");
您忘记在\"
之后添加未转义的引号。
答案 3 :(得分:0)
header("Content-Disposition: attachment; filename=\"{$practice_sheet_details['practice_sheet_name']}.pdf\"");
答案 4 :(得分:0)
你能试试吗,
header("Content-Disposition: attachment; filename=".$practice_sheet_details['practice_sheet_name'].".pdf");