我有我從MySQL表中獲得的這些數據,並將它存儲在名爲$ arr的變量中。 我json_encoded它變成$ JSON變量:將PHP變量的內容下載到文件
$arr = array();
while ($blah = mysqli_fetch_assoc(...)) {
$arr[key] = value;
}
$json = json_encode($arr);
,我試圖做的事情就是剛剛$ JSON變量的內容下載到一個以.json文件而不保存在服務器上。但是,當我嘗試這樣做,使用
header('Content-Type: text/plain');
header('Content-Disposition: attachment; filename='.$file.'');
header('Content-Transfer-Encoding: binary');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
echo $json;
(其中$文件是一個生成的名稱已下載文件),我得到的是這樣的:
<!DOCTYPE html>
<html>
<head>
....
</head>
<body>
<a ...>...</a>{"field":"value","field2":"ИзвеÑтиÑ","field3":"ÐОВ", ...} </body></html>
或之外的整個PHP文件內容單詞......正如你所看到的那樣,編碼全部搞砸了。
你能幫我找出問題,並可能給我任何想法如何解決它。
任何幫助將非常感激:]
如何,你可以創建一個文件,但不保存在服務器上? –
您是否早先輸出已有數據/您是否將php文件包含在模板中?確保沒有輸出發送 – Stefan
嗯,我的意思是獲取變量的內容並將它們寫入文件。就像 - 當用戶點擊下載時,他會得到一個提示,下載一個帶有變量$ json內容的.json文件。我希望你明白。 –