2016-07-29 111 views
1

我在Safari上導出我的csv文件時遇到了奇怪的問題,它只是在瀏覽器上顯示而不是下載。而同樣的代碼與Firefox和Crome一起工作。沒有什麼是爲我工作的。請幫忙。這裏是我的代碼 -無法使用PHP在Safari上下載我的CSV文件使用PHP

<?php 
ob_clean(); 
ob_start(); 
header('Content-Type: text/csv'); 
header('Content-Disposition: attachment; filename="export.csv"'); 
header('Pragma: no-cache');  
header('Expires: 0'); 

function exportData() { 

$fp = fopen('php://output', 'w'); 
fputcsv($fp, array('Market ID', 'Market Name', 'Suburb', 'State', 'Start Time', 'End Time', 'Status',"~")); 
include "database.php"; 


$dbquery = @$_POST['query']; 
$queryAllUser = $dbquery;  


$resultAllUser = mysql_query($queryAllUser); 
$countAllUser = mysql_num_rows($resultAllUser); 


if($countAllUser > 0) 
{ 
while($rowMarketId= mysql_fetch_assoc($resultAllUser)) 
{ 

    $marketId =  $rowMarketId['mrkt_id']; 
    $isCancel =  $rowMarketId['is_cancel']; 
    $openning_tim = $rowMarketId['openning_time']; 
    $closing_tim = $rowMarketId['closing_time']; 
    $suburb = $rowMarketId['suburb']; 
    $name = $rowMarketId['name']; 
    $state = $rowMarketId['state'];  
    if($isCancel == 0) 
    { 
      $status_type = "Open"; 
    } 
    else 
    { 
      $status_type = "Close"; 
    } 

     $val = array(); 
     $val[] = $marketId; 
     $val[] = $name; 
     $val[] = $suburb; 
     $val[] = $state; 
     $val[] = $openning_tim; 
     $val[] = $closing_tim; 
     $val[] = $status_type; 
     $val[] = "~"; 

    fputcsv($fp, $val); 

    } 


    } 


    } 

    exportData(); 

    ?> 
+0

我敢肯定,這取決於你已經安裝了一個CSV閱讀器你的瀏覽器。同樣適用於PDF –

+0

@JulienLachal - 謝謝你的迴應,但我已經測試了三個以上的系統有不同版本的safari,但仍然是同樣的問題。 –

+0

是的,這就是我告訴你的,也許Safari不能像Firefox和Chrome那樣讀取CSV。它是如何讀取它們的,你有一個特殊的插件嗎? –

回答

0
header('Content-Description: File Transfer'); 
header('Content-Type: application/octet-stream'); 
header("Content-Type: application/force-download"); 
header('Content-Disposition: attachment; filename=' .urlencode(basename($filename))); 
header('Expires: 0'); 
header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); 
header('Pragma: public'); 
header('Content-Length: ' . filesize($filename)); 

嘗試用這個頭........這應該工作..

+0

Prashant - 感謝您的評論,但它不工作。 –

+0

www.123contactform.com/docs/i-cannot-download-csv-file-on-safari-what-to-do/..........查看此鏈接 –

+0

感謝您的回覆@Prashat,我已經跟隨該網站。但我的客戶想要自動下載CSV文件。 –