header("Content-type: text/html"); header("Content-Disposition: attachment; filename=檔名"); echo 主要內容; exit; ``` 2. 利用mime-type即可將文件偽裝成各種檔案(特別是文字檔): http://www.freeformatter.com/mime-types-list.html 3. 下載時,IE可能會變成亂碼檔名,可用iconv("UTF-8","Big5",$檔名),將檔名轉成Big5編碼即可。(但若遇到檔名有特殊字的,就會變成缺字了) 4. 若是要把檔案存在主機上,請改用file\_put\_contents ( $檔名 , $檔案內容 ); ``` if (file_put_contents(XOOPS_ROOT_PATH . '/uploads/contact.html', $html)) { redirect_header('index.php', 3, '已完成!'); } ``` ### 二、 CSV匯出(下載) 1. 同HTML,將mime-type改為text/csv即可。 2. Excel的CSV格式僅支援Big5編碼,故內容需用iconv轉為Big5。UTF-8編碼的CSV檔Openoffice的Calc可以讀取。 3. Excel的CSV格式通常用小寫「,」隔開;而Calc預設用「;」隔開,且遇到文字需用雙引號"包起來。 ### 三、 CSV匯入 1. 匯入文字檔上傳介面: ```
if (file_put_contents(XOOPS_ROOT_PATH . '/uploads/contact.html', $html)) { redirect_header('index.php', 3, '已完成!'); } ``` ### 二、 CSV匯出(下載) 1. 同HTML,將mime-type改為text/csv即可。 2. Excel的CSV格式僅支援Big5編碼,故內容需用iconv轉為Big5。UTF-8編碼的CSV檔Openoffice的Calc可以讀取。 3. Excel的CSV格式通常用小寫「,」隔開;而Calc預設用「;」隔開,且遇到文字需用雙引號"包起來。 ### 三、 CSV匯入 1. 匯入文字檔上傳介面: ```
$handle = fopen($_FILES['userfile']['tmp_name'], "r") or die("無法開啟"); while (($data = fgetcsv($handle, 1000)) !== false) { $sql = "insert into `" . $xoopsDB->prefix("phone_book") . "` (`sn`, `cate_sn`, `name`, `birthday`, `phone`, `email`, `zip`, `county`, `city`, `addr`, `note` ) values('{$data[0]}', '{$data[1]}', '{$data[2]}', '{$data[3]}', '{$data[4]}', '{$data[5]}', '{$data[6]}', '{$data[7]}', '{$data[8]}', '{$data[9]}', '{$data[10]}' )"; $xoopsDB->queryF($sql) or web_error($sql); } fclose($handle); ``` 3. 控制符=fopen(檔名,模式):打開檔案,布林值=fclose(檔案控制符):關閉檔案 4. 陣列=fgetcsv(檔案控制符,\[最長讀取長度\],\[分格符號\],\[文字引號\]):讀取CSV檔 ### 四、 JSON匯出(下載) 1. 同HTML,將mime-type改為application/json 即可 2. 如果是要給其他程式線上介接,一般不需要用header()來指定格式,直接echo即可。 3. 以PHP而言,利用json\_encode("中文", JSON\_UNESCAPED\_UNICODE); 就可把陣列轉換為json格式 ### 五、 JSON匯入 1. 利用json\_decode($json)就可以把json轉換為PHP陣列。 2. 擷取遠端的json檔案可以利用file\_get\_contents ($檔名) 來抓取! 3. [http://data.gov.tw/data\_list](http://data.gov.tw/data_list) 4.
進階搜尋
37人線上 (9人在瀏覽線上書籍)
會員: 0
訪客: 37