13.
CSV的匯出與匯入
一、 匯入文字檔上傳介面:
<form action='index.php' method='post' enctype='multipart/form-data'>
<INPUT type='file' name='userfile'>
<INPUT type='hidden' name='op' value='import'>
<INPUT type='submit' value='匯入'>
</form>
二、 匯入文字檔:
-
先建立一個csv檔,格式欄位依序為「gsn , name , tel , email , birthday , zip , county , city , addr」
$handle = fopen($_FILES['userfile']['tmp_name'], "r") or die("無法開啟");
while (($data = fgetcsv($handle, 1000)) !== FALSE) {
$sql = "insert into `".$xoopsDB->prefix("contact")."` (`gsn` , `name` , `tel` , `email` , `birthday` , `zip` , `county` , `city` , `addr`) values('{$data[0]}' , '{$data[1]}' , '{$data[2]}' , '{$data[3]}' , '{$data[4]}' , '{$data[5]}' , '{$data[6]}' , '{$data[7]}' , '{$data[8]}')";
$xoopsDB->queryF($sql);
}
fclose($handle);
-
控制符=fopen(檔名,模式):打開檔案,布林值=fclose(檔案控制符):關閉檔案
-
陣列=fgetcsv(檔案控制符,[最長讀取長度],[分格符號],[文字引號]):讀取CSV檔
三、 文字檔轉碼:
-
由於Excel僅能編輯Big5的中文編碼,故若是您希望會出的檔案可以讓Excel開啟,匯出時,記得將編碼轉為Big5。
-
(1) iconv("舊編碼" , "新編碼" , "原文");
-
(2) mb_convert_encoding("原文" , "新編碼" , "舊編碼");
四、 匯出文字檔
-
匯出文字檔的作法其實很簡單,您只要在程式裡加入以下的程式碼就行了:
header("Content-type: text/x-csv");
header("Content-Disposition: attachment; filename=檔名");
echo 主要內容;
exit;
-
利用mime-type即可將文件偽裝成各種檔案:
CSV檔:text/x-csv
word檔:application/msword
excel檔:application/vnd.ms-excel
五、 TadTools內建函數
-
首頁的連結工具:
-
(1) $interface_menu[工具列名稱]="網址";
-
(2) $interface_logo[工具列名稱]="圖檔名稱";(圖檔一律放到模組的images下)
-
(3) toolbar($interface_menu=array(),$interface_logo=array());
-
推文工具:push_url($css="");
-
facebook留言工具:facebook_comments();
-
單選回復原始資料函數:chk($DBV="",$NEED_V="",$defaul="",$return="checked");
-
複選回復原始資料函數:chk2($defaul_array="",$NEED_V="",$defaul=1);
-
細部權限判斷:power_chk($perm_name="",$psn="");
-
建立目錄:mk_dir($dir);
-
刪除目錄樹:rrmdir($dir="");
-
自動轉連結:autolink($text, $target='_blank', $nofollow=true);