2015-06-18 94 views
0

當我讀了大部分與此相關的SO問題,我知道我可以使用下面的PHP下載一個字符串當作文件:如何下載PHP字符串按鈕被點擊

header('Content-Disposition: attachment; filename="default-filename.txt"'); 
echo 'string to download'; 

但是我問題多一點。我有類似以下內容:

$csvString = ""; 
foreach($array as $key => $value) 
{ 
    echo "<div> $key has $value</div>"; 
    $csvString = "$key,$value\n"; 
} 
echo "<button> Click here to download as CSV</button>"; 

正如你可能已經猜到了,我要的是點擊按鈕時要下載$ csvString。任何關於如何完成的指針。

+1

'click here' –

+0

@MarcB erm ....這是如何工作的? –

+0

@UndefinedVariable我認爲,[這](https://www.ziplineinteractive.com/blog/proper-php-headers-for-csv-documents-all-browsers/)教程將幫助你。 – jagad89

回答

2

比方說你有csv.php文件,然後執行:

if (isset($_GET['download'] == 1)) { 
    header('Content-Disposition: attachment; filename="default-filename.txt"'); 
    foreach($array as $key => $value) { 
     echo "$key,$value\n"; 
    } 
    exit; 
} 

foreach($array as $key => $value) { 
    echo "<div> $key has $value</div>"; 
} 

echo "<a href='csv.php?download=1'><button> Click here to download as CSV</button></a>"; 

基本上,如果你想如果要求下載,如果是準備它在單一的文件,首先檢查所有的邏輯。如果沒有請求下載,只需編寫你的html。