dongmijgnnq0118 2013-11-15 16:28
浏览 31
已采纳

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

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?

  • 写回答

5条回答 默认 最新

  • douchuntang2827 2013-11-15 16:30
    关注

    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.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?