Subversion Repositories qbpwcf-lib(archive)

Rev

Rev 636 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 636 Rev 706
Line 26... Line 26...
26
 
26
 
27
測試 usr/bin/ 底下的所有程式
27
測試 usr/bin/ 底下的所有程式
28
 
28
 
29
*/
29
*/
30
 
30
 
31
#使用命名空間qbpwcf
31
#使用 qbpwcf 命名空間
32
namespace qbpwcf;
32
namespace qbpwcf;
33
 
33
 
-
 
34
#以該檔案的實際位置的 lib path 為 include path 首位
-
 
35
exec("cd ".pathinfo(__FILE__)["dirname"]."/../qbpwcf;pwd;",$output,$status);
-
 
36
set_include_path($output[0].PATH_SEPARATOR.get_include_path());
-
 
37
 
34
#匯入外部套件
38
#匯入外部套件
35
include("/usr/lib/qbpwcf/allInOne.php");
39
include("allInOne.php");
36
 
40
 
37
#說明函式
41
#說明函式
38
function help()
42
function help(){
39
{
43
 
40
	#印出指令說明
44
	#印出指令說明
41
	echo "用於測試 usr/bin/ 底下程式的測試程式".PHP_EOL; 
45
	echo "用於測試 usr/bin/ 底下程式的測試程式".PHP_EOL; 
42
	echo "Usage of ".basename(__FILE__).":".PHP_EOL; 
46
	echo "Usage of ".basename(__FILE__).":".PHP_EOL; 
43
	echo "--list all/name of program under 'usr/bin/' 代表顯示所有可以執行的程式或顯示特定程式的用法.".PHP_EOL;
47
	echo "--list all/name of program under 'usr/bin/' 代表顯示所有可以執行的程式或顯示特定程式的用法.".PHP_EOL;
44
	echo "--cmd name of program under 'usr/bin/' 代表要執行的程式名稱.".PHP_EOL;
48
	echo "--cmd name of program under 'usr/bin/' 代表要執行的程式名稱.".PHP_EOL;
Line 47... Line 51...
47
	echo "使用 backupDb.php 的範例:".PHP_EOL;
51
	echo "使用 backupDb.php 的範例:".PHP_EOL;
48
	echo "\t"."usr_bin_test.php --cmd backupDb.php --paramName --config --paramValue sample/assets\ of\ config/database.php --paramName --acctVarName --paramValue \"db['default']['username']\" --paramName --passVarName --paramValue \"db['default']['password']\" --paramName --dbVarName --paramValue \"db['default']['database']\" --paramName --dbAddrVarName --paramValue \"db['default']['hostname']\" --paramName --dbPortVarName --paramValue \"db['default']['port']\" --paramName --backupAddr --paramValue \"./\"".PHP_EOL;
52
	echo "\t"."usr_bin_test.php --cmd backupDb.php --paramName --config --paramValue sample/assets\ of\ config/database.php --paramName --acctVarName --paramValue \"db['default']['username']\" --paramName --passVarName --paramValue \"db['default']['password']\" --paramName --dbVarName --paramValue \"db['default']['database']\" --paramName --dbAddrVarName --paramValue \"db['default']['hostname']\" --paramName --dbPortVarName --paramValue \"db['default']['port']\" --paramName --backupAddr --paramValue \"./\"".PHP_EOL;
49
	
53
	
50
	#一般錯誤結束執行
54
	#一般錯誤結束執行
51
	exit(1);
55
	exit(1);
-
 
56
 
52
}
57
	}
53
 
58
 
54
#函式說明:
59
#函式說明:
55
#解析參數.
60
#解析參數.
56
#回傳結果:
61
#回傳結果:
57
#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
62
#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
Line 71... Line 76...
71
#以後可將參數 --a--b 的名稱與後面的數值 $value 存成 $result["a"]["b"][$i]=$value .
76
#以後可將參數 --a--b 的名稱與後面的數值 $value 存成 $result["a"]["b"][$i]=$value .
72
$parseArgu=cmd::parseArgu($conf);
77
$parseArgu=cmd::parseArgu($conf);
73
unset($conf);
78
unset($conf);
74
 
79
 
75
#如果解析參數失敗
80
#如果解析參數失敗
76
if($parseArgu["status"]==="false")
81
if($parseArgu["status"]==="false"){
77
{
82
 
78
	#印出結果
83
	#印出結果
79
	var_dump($parseArgu);
84
	var_dump($parseArgu);
80
	
85
	
81
	#一般錯誤結束執行
86
	#一般錯誤結束執行
82
	exit(1);
87
	exit(1);
83
	
88
	
84
}#if end
89
	}#if end
85
 
90
 
86
#如果得到的參數為0
91
#如果得到的參數為0
87
if(count($parseArgu["content"])===0){
92
if(count($parseArgu["content"])===0){
88
 
93
 
89
	#提示說明
94
	#提示說明
Line 185... Line 190...
185
		#$result["content"][$i]["dir"],第$i+1個檔案是否為資料夾.		
190
		#$result["content"][$i]["dir"],第$i+1個檔案是否為資料夾.		
186
		#$result["content"][$i]["info"],第$i+1個檔案的額外資訊.
191
		#$result["content"][$i]["info"],第$i+1個檔案的額外資訊.
187
		#$result["content"][$i]["size"],第$i+1個檔案的大小(bytes).
192
		#$result["content"][$i]["size"],第$i+1個檔案的大小(bytes).
188
		#必填參數:
193
		#必填參數:
189
		#$conf["path"],字串,要取得檔案資訊的所屬路徑.
194
		#$conf["path"],字串,要取得檔案資訊的所屬路徑.
190
		$conf["path"]="/usr/lib/qbpwcf/usr/bin/";
195
		#$conf["path"]="/usr/lib/qbpwcf/usr/bin/";
-
 
196
		$conf["path"]=$output[0]."/usr/bin/";
191
		#可省略參數:
197
		#可省略參數:
192
		#無.
198
		#無.
193
		#參考資料
199
		#參考資料
194
		#無.
200
		#無.
195
		#備註:
201
		#備註:
Line 246... Line 252...
246
		#$result["running"],是否還在執行.
252
		#$result["running"],是否還在執行.
247
		#$result["pid"],pid.
253
		#$result["pid"],pid.
248
		#$result["statusCode"],執行結束後的代碼.
254
		#$result["statusCode"],執行結束後的代碼.
249
		#必填參數:
255
		#必填參數:
250
		#$conf["command"],字串,要執行的指令與.
256
		#$conf["command"],字串,要執行的指令與.
251
		$conf["command"]=$parseArgu["content"]["list"][0];
257
		$conf["command"]=$output[0]."/usr/bin/".$parseArgu["content"]["list"][0];
252
		#$conf["fileArgu"],字串,變數__FILE__的內容.
258
		#$conf["fileArgu"],字串,變數__FILE__的內容.
253
		$conf["fileArgu"]=__FILE__;
259
		$conf["fileArgu"]=__FILE__;
254
		#可省略參數:
260
		#可省略參數:
255
		#$conf["argu"],陣列字串,指令搭配的參數,預設為空陣列.
261
		#$conf["argu"],陣列字串,指令搭配的參數,預設為空陣列.
256
		$conf["argu"]=array("-h");
262
		$conf["argu"]=array("-h");
Line 359... Line 365...
359
	#$result["running"],是否還在執行.
365
	#$result["running"],是否還在執行.
360
	#$result["pid"],pid.
366
	#$result["pid"],pid.
361
	#$result["statusCode"],執行結束後的代碼.
367
	#$result["statusCode"],執行結束後的代碼.
362
	#必填參數:
368
	#必填參數:
363
	#$conf["command"],字串,要執行的指令與.
369
	#$conf["command"],字串,要執行的指令與.
364
	$conf["command"]=$cmd;
370
	$conf["command"]=$output[0]."/usr/bin/".$cmd;
365
	#$conf["fileArgu"],字串,變數__FILE__的內容.
371
	#$conf["fileArgu"],字串,變數__FILE__的內容.
366
	$conf["fileArgu"]=__FILE__;
372
	$conf["fileArgu"]=__FILE__;
367
	#可省略參數:
373
	#可省略參數:
368
	#$conf["argu"],陣列字串,指令搭配的參數,預設為空陣列.
374
	#$conf["argu"],陣列字串,指令搭配的參數,預設為空陣列.
369
	$conf["argu"]=$params;
375
	$conf["argu"]=$params;