2013-11-15 27 views
-2

我的代碼如下:如何在以下場景中使用變量名代替字符串?

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擴展連接,但我無法正確獲取它。任何人都可以幫助我解決這個問題嗎?

+1

我敢肯定,如何連接字符串和變量是寫在PHP手冊 –

+3

這個問題似乎是題外話,因爲它是關於一個錯字。 – j08691

回答

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

您錯過了filename=\"後的報價。

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

你可以這樣來做:

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

你忘了包括\"後的非轉義引號。

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

你可以試試這個,

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