3
我是新來的PHP,我對你有疑問。 現在,我創建一個PHP腳本,我想用這個:PHP I/O內存流在文檔開頭創建空行
$file = fopen('php://memory','w');
然後,我用fputcsv,我補充幾個陣列來填補這個文件。 在最後一部分,我說我想使downloadeble鏈接
header('Content-Type: application/csv');
header('Content-Disposition: attachment; filename="service.csv"');
我的方法是這樣的:
public function exportToCsv($Id){
$file = fopen('php://memory','w');
$someDetails = $this->some_model->getSomeDetail($Id);
$details = array(
array("Subject", "Start Date", "Start Time", "End Date", "End Time", "Where"),
array("test subject","test date","test time","test end date","etc..."));
foreach ($details as $detail) {
fputcsv($file, $detail);
}
fseek($file,0);
header('Content-Type: application/csv');
header('Content-Disposition: attachment; filename="file.csv"');
fpassthru($file);}
當我的瀏覽器下載該文件,當我打開它,一切都很好,但在文件開頭,有一條空行,我不明白它爲什麼會發生,我怎樣才能刪除這條線。
感謝您的描述。
馬立克
在php標籤之前或之後是否有任何空格/空行? () – SamyQc
不,我使用CodeIgniter框架,並且此代碼被寫入控制器中。未找到空行/空格。當我打開創建的文檔時,第一行爲空白,其他行填充。 我忘了提及..只有當我使用路徑「php:// memory」或輸出時,所有這些happend ... 當我寫道如「C:/路徑/到/文件夾」一切都很好,沒有空白行被創建......只有「php:// memory」在開頭創建空行 – Marek
嘗試添加ob_end_clean();就在你的fpassthru($文件)之前; – SamyQc