| 14 |
liveuser |
1 |
<?php
|
|
|
2 |
|
|
|
3 |
#宣告指派命名空間
|
|
|
4 |
namespace qbpwcf{
|
|
|
5 |
|
|
|
6 |
#匯入外部套件
|
|
|
7 |
include("../allInOne.php");
|
|
|
8 |
|
|
|
9 |
#說明正在測試的內容
|
|
|
10 |
echo"<hr>csv::create - testCase 1<br>";
|
|
|
11 |
|
|
|
12 |
/*
|
|
|
13 |
|
|
|
14 |
#測試用的樣本
|
|
|
15 |
$csvFileContent["line"][0]=array("\"A0\"","\"A1\"","\"A3\"","\"A5\"","\"C1\"","\"B1\"","\"B3\"","\"B5\"","\"B6\"","\"B7\"","\"B9\"","\"B11\"","\"B12\"","\"B13\"","\"A7\"","\"A9\"","\"A11\"");
|
|
|
16 |
$csvFileContent["line"][1]=array("\"22\"","\"92\"","\"322\"","\"23\"","\"54,65,33\"","\"81\"","\"75\"","\"39\"","\"90\"","\"81\"","\"81\"","\"75\"","\"39\"","\"90\"","\"81\"","\"81\"","\"75\"");
|
|
|
17 |
$csvFileContent["line"][2]=array("\"1\"","\"2\"","\"5\"","\"98\"","\"99\"","\"23\"","\"54\"","\"81\"","\"75\"","\"39\"","\"90\"","\"81\"","\"5\"","\"98\"","\"99\"","\"23\"","\"12\"");
|
|
|
18 |
$csvFileContent["line"][3]=array("\"81\"","\"75\"","\"39\"","\"90\"","\"81\"","\"2\"","\"5\"","\"98\"","\"99\"","\"39\"","\"90\"","\"81\"","\"2\"","\"5\"","\"39\"","\"90\"","\"5\"");
|
|
|
19 |
$csvFileContent["line"][4]=array("\"0\"","\"16\"","\"2\"","\"0\"","\"7\"","\"39\"","\"90\"","\"81\"","\"2\"","\"5\"","\"39\"","\"90\"","\"81\"","\"2\"","\"5\"","\"39\"","\"90\"");
|
|
|
20 |
$csvFileContent["line"][5]=array("\"55\"","\"11\"","\"82\"","\"33\"","\"18\"","\"39\"","\"90\"","\"81\"","\"2\"","\"5\"","\"39\"","\"90\"","\"81\"","\"2\"","\"5\"","\"2\"","\"5\"");
|
|
|
21 |
|
|
|
22 |
#涵式說明:
|
|
|
23 |
#快速建立一個csv檔案,並且要求使用者下載。
|
|
|
24 |
#必填的參數:
|
|
|
25 |
$conf["dataArray"]=$csvFileContent["line"];#要寫入的文字,$conf["dataArray"][$i],代表第 $i 行的內容。
|
|
|
26 |
#$conf["fileArgu"],字串,php變數__FILE__的內容,亦即該檔案在檔案系統的絕對路徑
|
|
|
27 |
$conf["fileArgu"]=__FILE__;
|
|
|
28 |
#可省略的參數:
|
|
|
29 |
$conf["csvFilePathAndName"]="csvT/csvTestFile";#輸出的csv檔案路徑與名稱,預設爲系統時間,副檔名"csv"會自動加上.
|
|
|
30 |
$conf["noDownload"]="true";#如果爲"true"則代表不要讓使用者下載,但會回傳檔案的相對位置
|
|
|
31 |
var_dump($csvFileName=csv::create($conf));
|
|
|
32 |
unset($conf);
|
|
|
33 |
|
|
|
34 |
*/
|
|
|
35 |
|
|
|
36 |
#說明正在測試的內容
|
|
|
37 |
echo"<hr>csv::loadCsvFile - testCase 1<br>";
|
|
|
38 |
|
|
|
39 |
/*
|
|
|
40 |
|
|
|
41 |
#涵式說明:
|
|
|
42 |
#讀取csv檔案的內容
|
|
|
43 |
#回傳得結果:
|
|
|
44 |
#$result["csvFileContent"],csv檔案內容的陣列
|
|
|
45 |
#$result["csvFileContent"]["$i"]["$j"]代表第$i列第$j欄位的內容.
|
|
|
46 |
#如果 $conf["firstLineVarName"]爲"true"的話則會回傳 $result["csvFileContent"]["第幾列"]["第一列各個欄位的名稱"]
|
|
|
47 |
#$result["csvFileContent"]["lineArray"],csv檔案逐列內容的陣列.
|
|
|
48 |
#$result["csvFileContent"]["lineArrayCount"],總共幾列資料
|
|
|
49 |
#必填的參數:
|
|
|
50 |
$conf["csvFilePositionAndName"]="csvT/csvTestFile.csv";#csv檔案的位置
|
|
|
51 |
#$conf["fileArgu"],字串,php變數__FILE__的內容,亦即該檔案在檔案系統的絕對路徑
|
|
|
52 |
$conf["fileArgu"]=__FILE__;
|
|
|
53 |
#可省略的參數:
|
|
|
54 |
#$conf["firstLineVarName"]="true";#第一行是否爲變數名稱(各個欄位的名稱)
|
|
|
55 |
#參考資料來源:
|
|
|
56 |
#http://www.php.net/manual/en/function.str-split.php
|
|
|
57 |
#參考資料來源
|
|
|
58 |
#http://chuangmaster.pixnet.net/blog/post/33560606-%5B%E8%BD%89%E8%B2%BC%5D%E9%97%9C%E6%96%BC%E5%9B%9E%E8%BB%8A(%5Cr)%E8%88%87%E6%8F%9B%E8%A1%8C(%5Cn)
|
|
|
59 |
var_dump(csv::loadCsvFile($conf));
|
|
|
60 |
unset($conf);
|
|
|
61 |
|
|
|
62 |
#移除該檔案,避免佔用空間
|
|
|
63 |
#unlink(".csv/csvTestFile.csv");
|
|
|
64 |
|
|
|
65 |
*/
|
|
|
66 |
|
|
|
67 |
#說明正在測試的內容
|
|
|
68 |
echo"<hr>csv::loadCsvFile - testCase 2<br>";
|
|
|
69 |
|
|
|
70 |
/*
|
|
|
71 |
|
|
|
72 |
#涵式說明:
|
|
|
73 |
#讀取csv檔案的內容
|
|
|
74 |
#回傳得結果:
|
|
|
75 |
#$result["status"],執行是否正常,"true"代表正常;"false"代表不正常.
|
|
|
76 |
#$result["error"],錯誤訊息陣列.
|
|
|
77 |
#$result["csvFileContent"],csv檔案內容的陣列
|
|
|
78 |
#$result["csvFileContent"]["$i"]["$j"]代表第$i列第$j欄位的內容.
|
|
|
79 |
#如果 $conf["firstLineVarName"]爲"true"的話則會回傳 $result["csvFileContent"]["第幾列"]["第一列各個欄位的名稱"]
|
|
|
80 |
#$result["csvFileContent"]["lineArray"],csv檔案逐列內容的陣列.
|
|
|
81 |
#$result["csvFileContent"]["lineArrayCount"],總共幾列資料
|
|
|
82 |
#必填的參數:
|
|
|
83 |
$conf["csvFilePositionAndName"]="csvT/已踢除特定欄位含有0的樣本.csv";#csv檔案的位置
|
|
|
84 |
#$conf["fileArgu"],字串,php變數__FILE__的內容,亦即該檔案在檔案系統的絕對路徑
|
|
|
85 |
$conf["fileArgu"]=__FILE__;
|
|
|
86 |
#可省略的參數:
|
|
|
87 |
$conf["firstLineVarName"]="true";#第一行是否爲變數名稱(各個欄位的名稱)
|
|
|
88 |
#參考資料來源:
|
|
|
89 |
#http://www.php.net/manual/en/function.str-split.php
|
|
|
90 |
#參考資料來源
|
|
|
91 |
#http://chuangmaster.pixnet.net/blog/post/33560606-%5B%E8%BD%89%E8%B2%BC%5D%E9%97%9C%E6%96%BC%E5%9B%9E%E8%BB%8A(%5Cr)%E8%88%87%E6%8F%9B%E8%A1%8C(%5Cn)
|
|
|
92 |
var_dump($csvFileContent=csv::loadCsvFile($conf));
|
|
|
93 |
unset($conf);
|
|
|
94 |
|
|
|
95 |
*/
|
|
|
96 |
|
|
|
97 |
#說明正在測試的內容
|
|
|
98 |
echo"<hr>csv::loadCsvFile - testCase 3<br>";
|
|
|
99 |
|
|
|
100 |
/*
|
|
|
101 |
|
|
|
102 |
#涵式說明:
|
|
|
103 |
#讀取csv檔案的內容
|
|
|
104 |
#回傳得結果:
|
|
|
105 |
#$result["status"],執行是否正常,"true"代表正常;"false"代表不正常.
|
|
|
106 |
#$result["error"],錯誤訊息陣列.
|
|
|
107 |
#$result["csvFileContent"],csv檔案內容的陣列
|
|
|
108 |
#$result["csvFileContent"]["$i"]["$j"]代表第$i列第$j欄位的內容.
|
|
|
109 |
#如果 $conf["firstLineVarName"]爲"true"的話則會回傳 $result["csvFileContent"]["第幾列"]["第一列各個欄位的名稱"]
|
|
|
110 |
#$result["csvFileContent"]["lineArray"],csv檔案逐列內容的陣列.
|
|
|
111 |
#$result["csvFileContent"]["lineArrayCount"],總共幾列資料
|
|
|
112 |
#必填的參數:
|
|
|
113 |
$conf["csvFilePositionAndName"]="csvT/seatMap.csv";#csv檔案的位置
|
|
|
114 |
#$conf["fileArgu"],字串,php變數__FILE__的內容,亦即該檔案在檔案系統的絕對路徑
|
|
|
115 |
$conf["fileArgu"]=__FILE__;
|
|
|
116 |
#可省略的參數:
|
|
|
117 |
$conf["firstLineVarName"]="false";#第一行是否爲變數名稱(各個欄位的名稱)
|
|
|
118 |
#參考資料來源:
|
|
|
119 |
#http://www.php.net/manual/en/function.str-split.php
|
|
|
120 |
#參考資料來源
|
|
|
121 |
#http://chuangmaster.pixnet.net/blog/post/33560606-%5B%E8%BD%89%E8%B2%BC%5D%E9%97%9C%E6%96%BC%E5%9B%9E%E8%BB%8A(%5Cr)%E8%88%87%E6%8F%9B%E8%A1%8C(%5Cn)
|
|
|
122 |
var_dump($csvFileContent=csv::loadCsvFile($conf));
|
|
|
123 |
unset($conf);
|
|
|
124 |
|
|
|
125 |
*/
|
|
|
126 |
|
|
|
127 |
#說明正在測試的內容
|
|
|
128 |
echo"<hr>csv::read - testCase 1<br>";
|
|
|
129 |
|
|
|
130 |
/*
|
|
|
131 |
|
|
|
132 |
#涵式說明:
|
|
|
133 |
#讀取csv檔案的內容
|
|
|
134 |
#回傳得結果:
|
|
|
135 |
#$result["status"],執行是否正常,"true"代表正常;"false"代表不正常.
|
|
|
136 |
#$result["error"],錯誤訊息陣列.
|
|
|
137 |
#$result["content"],csv檔案內容的陣列
|
|
|
138 |
#$result["content"]["$i"]["$j"]代表第$i+1列第$j+1欄位的內容.
|
|
|
139 |
#如果 $conf["firstLineVarName"]爲"true"的話則會多回傳 $result["content"]["第幾列"]["第一列各個欄位的名稱"]
|
|
|
140 |
#$result["title"],欄位的名稱
|
|
|
141 |
#$result["lineCount"],總共幾列資料
|
|
|
142 |
#必填的參數:
|
|
|
143 |
$conf["csvFilePositionAndName"]="csvT/已踢除特定欄位含有0的樣本.csv";#csv檔案的位置
|
|
|
144 |
#$conf["fileArgu"],字串,php變數__FILE__的內容,亦即該檔案在檔案系統的絕對路徑
|
|
|
145 |
$conf["fileArgu"]=__FILE__;
|
|
|
146 |
#可省略的參數:
|
|
|
147 |
$conf["firstLineVarName"]="true";#第一行是否爲變數名稱(各個欄位的名稱)
|
|
|
148 |
#參考資料來源:
|
|
|
149 |
#http://www.php.net/manual/en/function.str-split.php
|
|
|
150 |
#參考資料來源
|
|
|
151 |
#http://php.net/manual/en/function.fgetcsv.php
|
|
|
152 |
$readResult=csv::read($conf);
|
|
|
153 |
unset($conf);
|
|
|
154 |
|
|
|
155 |
var_dump($readResult);
|
|
|
156 |
|
|
|
157 |
*/
|
|
|
158 |
|
|
|
159 |
#說明正在測試的內容
|
|
|
160 |
echo"<hr>csv::dataTable2csvFormat - testCase 1<br>";
|
|
|
161 |
|
|
|
162 |
/*
|
|
|
163 |
|
|
|
164 |
#涵式說明:
|
|
|
165 |
#一次取得資料庫、表的資料
|
|
|
166 |
#回傳的結果
|
|
|
167 |
#$result["status"],執行結果"true"為成功;"false"為執行失敗。
|
|
|
168 |
#$result["error"],錯誤訊息陣列。
|
|
|
169 |
#$result["function"],當前執行的漢書名稱.
|
|
|
170 |
#$result["dataColumnName"],抓取的資料欄位名稱陣列.
|
|
|
171 |
#$result["dataColumnName"][$i]代表第$i+1個欄位名稱
|
|
|
172 |
#$result["dataContent"],爲資料的內容。
|
|
|
173 |
#$result["dataContent"][$conf["WhereColumnName"][$i]][$dataSetNum]
|
|
|
174 |
#$dataSetNum 爲第$dataSetNum+1筆資料
|
|
|
175 |
#$conf["WhereColumnName"][$i] 爲第 $i+1 個欄位的名稱
|
|
|
176 |
#$result["dataCount"],爲取得的資料筆數。
|
|
|
177 |
#$result["sql"],執行的sql字串.
|
|
|
178 |
#必填的參數:
|
|
|
179 |
$conf["dbAddress"]=$dbAddress;#爲dbServer的位置。
|
|
|
180 |
$conf["dbAccount"]=$dbAccount;#爲登入dbServer的帳號。
|
|
|
181 |
$conf["dbName"]=$dbName;#爲要存取的資料庫名稱
|
|
|
182 |
$conf["tableName"]="subSystem";#爲要存取的資料表名稱
|
|
|
183 |
$conf["columnYouWant"]=array("*");#你想要的欄位!,若設為「array("*")」則代表全部欄位.
|
|
|
184 |
#可省略的參數:
|
|
|
185 |
$conf["dbPassword"]=$dbPassword;#爲要存取dbServer的密碼
|
|
|
186 |
#$conf["WhereColumnName"]=array("");#用於判斷語句的欄位項目陣列。
|
|
|
187 |
#$conf["WhereColumnValue"]=array("");#用於判斷語句的欄位數值陣列,若與LIKE搭配,則可以在關鍵自字串的左右名加上「%」符號,這樣就可以搜尋具有該字串的內容。
|
|
|
188 |
#$conf["WhereColumnCombine"]=array("");#用於判斷語句當中需要()起來的判斷式,須爲陣列值,"s"代表「(」,"e"代表「)」 ,若無則須設爲""。
|
|
|
189 |
#$conf["WhereColumnOperator"]=array("");#用於判斷語句的比較符號陣列,可以用的符號有「"="、"!="、">"、"<"、"LIKE"、"NOT LIKE"」,預設都爲「=」。
|
|
|
190 |
#$conf["WhereColumnAndOr"]=array("");#用於判斷語句條件之間成立的條件是AND還是OR,須爲陣列值。其數量應爲要判斷的欄位數量減一。
|
|
|
191 |
#$conf["orderItem"]="";#爲排序的項目依據,若要用隨機抽樣,可以用"rand()",可省略。
|
|
|
192 |
#$conf["ascORdesc"]="";#爲要低增還是遞減排序,asc爲遞增;desc爲遞減。
|
|
|
193 |
#$conf["numberStart"]="0";#為從第幾筆開始讀取,預設為0,代筆第一筆。
|
|
|
194 |
#$conf["numLimit"]="30";#為要取幾筆資料,可以省略,省略則表示不限制數目。
|
|
|
195 |
#$conf["groupBy"]=array("");#爲要以哪幾個欄爲作爲分羣的依據(欄位相同的數值僅會取出一筆)。
|
|
|
196 |
$subSystemData=db::fastGetDbData($conf);
|
|
|
197 |
unset($conf);
|
|
|
198 |
|
|
|
199 |
#debug
|
|
|
200 |
#var_dump($subSystemData);
|
|
|
201 |
|
|
|
202 |
#函數說明:
|
|
|
203 |
#將透過db::fastGetDbData取得的資料表資料轉換成用csv::create建立csv檔所需的格式 ,亦即轉換成一個二維陣列記錄每筆資料每個欄位填寫的內容.
|
|
|
204 |
#回傳結果:
|
|
|
205 |
#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
|
|
|
206 |
#$result["error"],錯誤訊息陣列.
|
|
|
207 |
#$result["function"],當前執行的函數名稱.
|
|
|
208 |
#$result["content"],轉換好要給csv::create建立csv檔所需的格式變數.
|
|
|
209 |
#必填參數:
|
|
|
210 |
#$conf["db::fastGetDbData"],陣列,透過db::fastGetDbData取得的回傳結果.
|
|
|
211 |
$conf["db::fastGetDbData"]=$subSystemData;
|
|
|
212 |
#可省略變數:
|
|
|
213 |
#$conf["columnName"],字串陣列,每個欄位的名稱,預設為資料表欄位的名稱.
|
|
|
214 |
#$conf["columnName"]=array();
|
|
|
215 |
var_dump(csv::dataTable2csvFormat($conf));
|
|
|
216 |
unset($conf);
|
|
|
217 |
|
|
|
218 |
*/
|
|
|
219 |
|
|
|
220 |
#說明正在測試的內容
|
|
|
221 |
echo"<hr>csv::keyWordsCount<br>";
|
|
|
222 |
|
|
|
223 |
/*
|
|
|
224 |
|
|
|
225 |
#函式說明:
|
|
|
226 |
#計屬csv檔裡面的關鍵字.
|
|
|
227 |
#回傳的結果:
|
|
|
228 |
#$result["status"],執行正常與否,"true"為正常,"false"為不正常.
|
|
|
229 |
#$result["error"],錯誤訊息陣列.
|
|
|
230 |
#$result["content"],找到的關鍵字數量.
|
|
|
231 |
#必填的參數:
|
|
|
232 |
#$conf["csvFileAddress"],字串,csv檔案的位置與名稱.
|
|
|
233 |
$conf["csvFileAddress"]="csvT/已踢除特定欄位含有0的樣本.csv";
|
|
|
234 |
#$conf["keyWord"],字串,要尋找的關鍵字.
|
|
|
235 |
$conf["keyWord"]="0";
|
|
|
236 |
#$conf["fileArgu"],字串,php變數__FILE__的內容,亦即該檔案在檔案系統的絕對路徑
|
|
|
237 |
$conf["fileArgu"]=__FILE__;
|
|
|
238 |
#可省略的參數:
|
|
|
239 |
#$conf["firstLineVarName"]="true";#第一行是否爲變數名稱(各個欄位的名稱),"true"表示第一列不在搜尋範圍裡,預設為"true".
|
|
|
240 |
var_dump(csv::keyWordsCount($conf));
|
|
|
241 |
unset($conf);
|
|
|
242 |
|
|
|
243 |
*/
|
|
|
244 |
|
|
|
245 |
}#namespace qbpwcf end
|
|
|
246 |
|
|
|
247 |
?>
|