如何在以下场景中使用变量名来代替字符串? [关闭]

My code is as follows:

header("Content-Disposition: attachment; filename=\"pdf_practice_sheet_90_with_header_8.pdf\"");

Now here instead of hard coded name value i.e. pdf_practice_sheet_90_with_header_8.pdf I wan t o use a dynamic value from one of my variable in following manner:

header("Content-Disposition: attachment; filename=\".$practice_sheet_details['practice_sheet_name'].".pdf\"");

But I'm getting an error as follows:

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

Actually I want to use the file name as a value of variable $practice_sheet_details['practice_sheet_name'] and concatenate that name with .pdf extention but I'm not able to get it correctly. Can anyone help me in resolving this issue?

Use like so:

$filename = $practice_sheet_details['practice_sheet_name'];
header("Content-Disposition: attachment; filename=\"" . $filename . ".pdf\"");

Also, since the filename could be anything, I would recommend escaping:

$filename = $practice_sheet_details['practice_sheet_name'] . ".pdf";
header("Content-Disposition: attachment; filename=\"".urlencode($filename)."\"");

I believe urlencode is the correct escaping to use but don't pin me on that.

You're missing a quote after filename=\".

header("Content-Disposition: attachment; filename=\"".$practice_sheet_details['practice_sheet_name'].".pdf\"");

You can do it this way:

header("Content-Disposition: attachment; filename=\"".$practice_sheet_details['practice_sheet_name'].".pdf\"");

You forgot to include the non-escaped quotation mark after the \".

header("Content-Disposition: attachment; filename=\"{$practice_sheet_details['practice_sheet_name']}.pdf\"");

Can you try this,

   header("Content-Disposition: attachment; filename=".$practice_sheet_details['practice_sheet_name'].".pdf");