我想要將php變量插入到下面的代碼中。當彈出的文檔下載出現時,它顯示$ filename而不是實際的文件名。我怎樣才能做到這一點?在文檔頭中使用PHP變量
代碼:
<?php
header('Content-disposition: attachment; filename=$filename');
header('Content-type: $type');
readfile('$filename');
?>
我想要將php變量插入到下面的代碼中。當彈出的文檔下載出現時,它顯示$ filename而不是實際的文件名。我怎樣才能做到這一點?在文檔頭中使用PHP變量
代碼:
<?php
header('Content-disposition: attachment; filename=$filename');
header('Content-type: $type');
readfile('$filename');
?>
您正在使用單引號。不評估使用單引號的字符串文字內部的變量。改爲使用連接或雙引號。
<?php
header("Content-disposition: attachment; filename=$filename"); // double quotes
header('Content-type: ' . $type); // concatenation
readfile($filename); // no quotes needed
?>
使用"
,不'
,得到變量的值,而不是名字。當你使用"
時,變量被解析(解析需要使用{和}的數組元素,但我相信你會在需要時找到它)。
使用雙引號:"
而不是單引號:'
使用"
報價。 PHP不會用'
引號中的字符串替換變量。
你並不需要在這裏報價,只需使用
header('Content-disposition: attachment; filename='.$filename);
header('Content-type: '.$type);
readfile($filename);
它的工作原理,但現在我得到這個錯誤:無法打開該文件。它可能已損壞或者Preview無法識別的文件格式。 – KPO
@KPO那麼,你必須弄清楚你發送的錯誤。這是一個不同的問題。 – lonesomeday