2012-08-12 57 views
0

我有一個函數根據變量創建不同的文件類型,我讓它生成一個XML,但是當我單擊指向該頁面的鏈接時(<a href="/asset/1/xml">XML</a>),什麼都沒發生。如果我點擊在新標籤頁中打開它,或者在標題欄中手動輸入url,那麼文件將按我的需要下載。僅當在新窗口/標籤頁中打開時才文件下載

function asset($asset_id, $display = ''){ 

    $this->load->model('model_asset'); 

    $asset = $this->model_asset->get_by_id($asset_id, true); 

    switch($display) { 
    case 'xml': 
     $this->load->helper('array_to_xml_helper'); 

     $asset_arr = get_object_vars($asset); 

     $filename = $asset->title .'-'. $asset->subtitle . '.xml'; 
     $xml = Array2XML::createXML('asset', $asset_arr); 
     header ("Content-Type:text/xml"); 
     header('Content-Disposition: attachment; filename="'. $filename .'"'); 
     echo $xml->saveXML(); 
     break; 
    } 
} 

如何使動態生成的文件,這項工作(我使用arraytoxml效用函數,我發現here

+0

您是否輸出標題以外的任何內容? – wgcrouch 2012-08-12 20:39:50

+0

哎呦..看起來我沒有發佈所有我想要的代碼。是的,我是:p – Damon 2012-08-12 20:41:06

+0

您可以修改鏈接,以便它會在新窗口中打開。 ''應該這樣做。這只是繞過這個問題,所以在我看來這不是一個真正的解決方案。 – Zombaya 2012-08-13 10:11:57

回答

0

你可以嘗試設置在attachement 文件添加到您的標題:

  • 內容處置:附件
  • 文件名= huge_document.pdf
+0

他已經使用這些標題... – Zombaya 2012-08-13 10:07:37

相關問題