2013-01-17 51 views
0

雖然它在本地主機上工作,但我直接遇到了CSV下載問題。CSV下載不起作用,但本地主機

我已經通過File download for csv works in local host but not when live

了,不過這方法還沒有爲我工作了。我試過了。

這裏是我的代碼,請看看 -

//Final function, called from module file. 
function event_signup_download_detail($nid) 
{ 
    module_load_include('inc', 'signup_event', 'event_signup_view'); 
    $csv_output = ''; 
    $csv_output .= "Role,Last name,First Name,Patrol,Position,Home phone,Cell Phone,Email,Payment Date,Unit Join Date,Payment Status\n";   
    $nid = 2001; 

    // add the paid users to the csv 
    $csv_output .= getPaidScoutUsers($nid); 

    // get unpaid users, add them to the csv 
    $csv_output .= getUnpaidUsers($nid); 

    header('Content-type: "application/vnd.ms-excel"'); 
    header('Content-Disposition: attachment;filename=\"Registration_information.csv\"'); 
    echo $csv_output; 
    exit; 

} 

很簡單,就是輸出頁面上的結果。我需要在CSV文件,這是假設要下載..

根據意見,我想改變我的.htaccess,但事情是,下載csv已經在其他網頁上工作,其中有相同的行代碼,因此它必須在這裏工作太..

我不明白,這個打印是如何終止下載到開始...

+0

如果在內容處置標題中減少'attachment;'和'filename'之間的空格數量會發生什麼?應該只有一個。如果刪除文件名引號,會發生什麼?你測試過哪些瀏覽器?另外,請注意,*某些*版本的Excel在獲得CSV內容時並不熱切期望獲得實際的XLS文件,並且如果用戶直接打開而不是首先將文件保存到磁盤,則可能會出現奇怪的行爲。 – Charles

+0

我減少了他們之間的空間後,在看到這個同樣的問題,但沒有工作的評論.. 我檢查報價刪除也太,相同的結果.. 測試在Firefox和鉻.. – RajeevK

+0

我明白與csv的問題與Excel的,但在這種情況下,它應該問是否用戶想要打開它或保存到磁盤上,就像我在本地主機上設置一樣,如果我點擊相同的鏈接.. – RajeevK

回答

-1

您需要強制下載與您的服務器配置。在Apache上這可以在你的.htaccess文件中完成與

AddType application/octet-stream .csv 
+0

我打開了我的.htaccess留在我的服務器上的public_html文件夾,並添加此行。但是它仍然在做同樣的事情。我只需要在最後加上這一行,或者不得不關心其他事情呢? – RajeevK

+0

您需要確保服務器配置爲允許htaccess文件也是 – danjp

+0

是否需要重新啓動apache或執行任何其他.htaccess,除了保留在基本文件夾中的默認文件之外還可以運行? – RajeevK

0

添加此 標題( '內容類型: 「應用程序/ vnd.ms-EXCEL」;字符集= utf-8'); 而不是頭('Content-type:「application/vnd.ms-excel'');

相關問題