2013-10-22 19 views
0

我運行一個文件,代碼PHP創建Excel工作表,並放置在主機(無下載)

$filename = "file.xls";
$content = '';
header("Content-Disposition: attachment; filename=\"$filename\"");
header("Content-Type: application/vnd.ms-excel");
$flag = false;
foreach($data as $row) {
if(!$flag) {
echo implode("\t", array_keys($row)) . "\r\n";
$flag = true;
}
echo implode("\t", array_values($row)) . "\r\n";
}

這幫助我拯救我想對系統文件當我運行這個文件,而不是下載的excel 。該文件將excel文件保存在同一文件夾中。

+0

這不是一個excel文件,它是一個文本文件。想要一個excel文件使用[phpExcel](http://phpexcel.codeplex.com/) – 2013-10-22 19:48:44

回答

0

在腳本的開始,開去緩衝:

ob_start(); 

和結束時,保存緩衝區:

$output = ob_get_contents(); 
file_put_contents($filename, $output); 

您也可以嘗試PHPExcel一個乾淨的電子表格的生成。

順便說一句,該目錄必須具有寫權限的Apache用戶:

sudo chmod -R 755 /path/to/php/script/directory/ 

在Red-紅帽/ Centos的/ Fedora的:

sudo chown -R apache:apache /path/to/php/script/directory/ 

在Debian/Ubuntu的/薄荷

sudo chown -R www-data:www-data /path/to/php/script/directory/ 
+0

爲什麼不只是不使用回聲和寫入文件?沒有必要輸出黃油 – 2013-10-22 20:11:18