我有一個symfony 1.4的項目,在一個動作中將一個mysql表導出到一個.csv文件,然後從服務器下載它,我使用Wampserver進行本地開發,並且一切正常但是,當我上傳到生產服務器時,如果嘗試導出數據,那麼.csv文件會自動在瀏覽器中打開,而不會詢問您是要保存還是打開它,我在創建該代碼後使用的代碼。 CSV是這個symfony下載文件
$this->setLayout(false);
sfConfig::set('sf_web_debug', false);
$this->getResponse()->setHttpHeader('Content-Type', 'text/csv');
$this->getResponse()->setHttpHeader('Content-Disposition', 'attachment; filename="file.csv"');
$this->getResponse()->setHttpHeader('Pragma', 'no-cache');
$this->getResponse()->setHttpHeader('Expires', '0');
readfile(sfConfig::get('sf_upload_dir') . "/export/file.csv");
return sfView::NONE;
我再說一遍,我在本地服務器這項工作確定後,瀏覽器給我開的選項或保存,現在,這是代碼的問題,在服務器或其他任何設置??
該文件保存爲utf-8編碼,這是問題嗎?
感謝
你用'application/csv'作爲內容類型嘗試過嗎? – j0k
「Content-Disposition」標題已正確發送到客戶端?服務器可以在發回響應之前修改標題。 – 1ed
可能的重複[強制使用PHP下載文件](http://stackoverflow.com/questions/1465573/forcing-to-download-a-file-using-php) – j0k