Subversion Repositories php-qbpwcf

Rev

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

Rev 249 Rev 253
Line 7242... Line 7242...
7242
 
7242
 
7243
		}#function checkFileKeyStrLBL end
7243
		}#function checkFileKeyStrLBL end
7244
 
7244
 
7245
	/*
7245
	/*
7246
	#函式說明:
7246
	#函式說明:
7247
	#複製檔案、資料夾.
7247
	#複製檔案、資料夾,只要符合權限就會執行並覆蓋既有內容.
7248
	#回傳結果:
7248
	#回傳結果:
7249
	#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
7249
	#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
7250
	#$result["error"],錯誤訊息.
7250
	#$result["error"],錯誤訊息.
7251
	#$result["function"],當前執行的函式名稱.
7251
	#$result["function"],當前執行的函式名稱.
7252
	#$result["content"],複製好的檔案路徑與名稱.
7252
	#$result["content"],複製好的檔案路徑與名稱.
Line 7256... Line 7256...
7256
	#$conf["to"],字串,檔案要複製到哪裡.
7256
	#$conf["to"],字串,檔案要複製到哪裡.
7257
	$conf["to"]="";
7257
	$conf["to"]="";
7258
	#$conf["fileArgu"],字串,__FILE__的內容,預設為當前檔案的位置.
7258
	#$conf["fileArgu"],字串,__FILE__的內容,預設為當前檔案的位置.
7259
	$conf["fileArgu"]=__FILE__;
7259
	$conf["fileArgu"]=__FILE__;
7260
	#可省略參數:
7260
	#可省略參數:
-
 
7261
	#$conf["cmdOnly"],字串,是否要只允許在cmd環境下運行,預設為"true",代表是;"false"代表沒有限制.
-
 
7262
	#$conf["cmdOnly"]="true";
7261
	#$conf["username"],字串,要以哪個使用者來執行,預設為執行該php程式的使用者.
7263
	#$conf["username"],字串,要以哪個使用者來執行,預設為執行該php程式的使用者.
7262
	#$conf["username"]="";
7264
	#$conf["username"]="";
7263
	#$conf["password"],字串,使用者對應的密碼,預設不使用.
7265
	#$conf["password"],字串,使用者對應的密碼,預設不使用.
7264
	#$conf["password"]="";
7266
	#$conf["password"]="";
7265
	#參考資料:
7267
	#參考資料:
7266
	#無.
7268
	#無.
7267
	#備註:
7269
	#備註:
7268
	#僅能在命令列環境下運行
7270
	#無.
7269
	*/
7271
	*/
7270
	public static function cp(&$conf){
7272
	public static function cp(&$conf){
7271
 
7273
 
7272
		#初始化要回傳的結果
7274
		#初始化要回傳的結果
7273
		$result=array();
7275
		$result=array();
Line 7287... Line 7289...
7287
			#回傳結果
7289
			#回傳結果
7288
			return $result;
7290
			return $result;
7289
 
7291
 
7290
			}#if end
7292
			}#if end
7291
 
7293
 
7292
		#函式說明:
-
 
7293
		#判斷當前環境為web還是cmd
-
 
7294
		#回傳結果:
-
 
7295
		#$result,"web"或"cmd"
-
 
7296
		if(csInformation::getEnv()==="web"){
-
 
7297
 
-
 
7298
			#設置執行失敗
-
 
7299
			$result["status"]="false";
-
 
7300
 
-
 
7301
			#設置執行錯誤訊息
-
 
7302
			$result["error"][]="函式 ".$result["function"]." 僅能在命令列環境下運行!";
-
 
7303
 
-
 
7304
			#回傳結果
-
 
7305
			return $result;
-
 
7306
 
-
 
7307
			}#if end
-
 
7308
 
-
 
7309
		#取得參數
7294
		#取得參數
7310
		$result["argu"]=$conf;
7295
		$result["argu"]=$conf;
7311
 
7296
 
7312
		#如果 $conf 不為陣列
7297
		#如果 $conf 不為陣列
7313
		if(gettype($conf)!=="array"){
7298
		if(gettype($conf)!=="array"){
Line 7362... Line 7347...
7362
		#$conf["canBeEmpty"],字串陣列,哪些必填參數的內容可為空字串或空陣列,僅當$conf["canBeEmptyString"]為"false"時會生效.
7347
		#$conf["canBeEmpty"],字串陣列,哪些必填參數的內容可為空字串或空陣列,僅當$conf["canBeEmptyString"]為"false"時會生效.
7363
		#$conf["canBeEmpty"]=array();
7348
		#$conf["canBeEmpty"]=array();
7364
		#$conf["skipableVariableCanNotBeEmpty"],字串陣列,哪些可省略參數不可以為空字串或空陣列.
7349
		#$conf["skipableVariableCanNotBeEmpty"],字串陣列,哪些可省略參數不可以為空字串或空陣列.
7365
		#$conf["skipableVariableCanNotBeEmpty"]=array();
7350
		#$conf["skipableVariableCanNotBeEmpty"]=array();
7366
		#$conf["skipableVariableName"],陣列字串,爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableName"] = array("id","account","password");
7351
		#$conf["skipableVariableName"],陣列字串,爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableName"] = array("id","account","password");
7367
		$conf["variableCheck::checkArguments"]["skipableVariableName"]=array("username","password");
7352
		$conf["variableCheck::checkArguments"]["skipableVariableName"]=array("username","password","cmdOnly");
7368
		#$conf["skipableVariableType"],陣列字串,爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableType"] = array("string",integer,"double");
7353
		#$conf["skipableVariableType"],陣列字串,爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableType"] = array("string",integer,"double");
7369
		$conf["variableCheck::checkArguments"]["skipableVariableType"]=array("string","string");
7354
		$conf["variableCheck::checkArguments"]["skipableVariableType"]=array("string","string","string");
7370
		#$conf["skipableVarDefaultValue"],字串陣列,每個不存在的可省略變數要初始化為什麼,null與代表不指定,若預設值是參數之一,請將$conf["mustBeFilledVar"]改成"\$conf["\mustBeFilledVar\"]".
7355
		#$conf["skipableVarDefaultValue"],字串陣列,每個不存在的可省略變數要初始化為什麼,null與代表不指定,若預設值是參數之一,請將$conf["mustBeFilledVar"]改成"\$conf["\mustBeFilledVar\"]".
7371
		$conf["variableCheck::checkArguments"]["skipableVarDefaultValue"]=array($_SERVER["LOGNAME"],null);
7356
		$conf["variableCheck::checkArguments"]["skipableVarDefaultValue"]=array($_SERVER["LOGNAME"],null,"true");
7372
		#$conf["arrayCountEqualCheck"],字串陣列,為檢查哪些陣列參數的元素數量要一樣,$conf["arrayCountEqualCheck"][$i]=array()為第$i組key為哪些的變數其元素數量要相等.
7357
		#$conf["arrayCountEqualCheck"],字串陣列,為檢查哪些陣列參數的元素數量要一樣,$conf["arrayCountEqualCheck"][$i]=array()為第$i組key為哪些的變數其元素數量要相等.
7373
		#$conf["arrayCountEqualCheck"][]=array();
7358
		#$conf["arrayCountEqualCheck"][]=array();
7374
		#參考資料來源:
7359
		#參考資料來源:
7375
		#array_keys=>http://php.net/manual/en/function.array-keys.php
7360
		#array_keys=>http://php.net/manual/en/function.array-keys.php
7376
		$checkArguments=variableCheck::checkArguments($conf["variableCheck::checkArguments"]);
7361
		$checkArguments=variableCheck::checkArguments($conf["variableCheck::checkArguments"]);
Line 7402... Line 7387...
7402
			#回傳結果
7387
			#回傳結果
7403
			return $result;
7388
			return $result;
7404
 
7389
 
7405
			}#if end
7390
			}#if end
7406
 
7391
 
-
 
7392
		#如果只允許在cmd下執行
-
 
7393
		if($conf["cmdOnly"]==="true"){
-
 
7394
		
-
 
7395
			#函式說明:
-
 
7396
			#判斷當前環境為web還是cmd
-
 
7397
			#回傳結果:
-
 
7398
			#$result,"web"或"cmd"
-
 
7399
			if(csInformation::getEnv()==="web"){
-
 
7400
 
-
 
7401
				#設置執行失敗
-
 
7402
				$result["status"]="false";
-
 
7403
 
-
 
7404
				#設置執行錯誤訊息
-
 
7405
				$result["error"][]="函式 ".$result["function"]." 僅能在命令列環境下運行!";
-
 
7406
 
-
 
7407
				#回傳結果
-
 
7408
				return $result;
-
 
7409
 
-
 
7410
				}#if end
-
 
7411
		
-
 
7412
			}#if end
-
 
7413
 
7407
		#初始化驗證過的使用者密碼
7414
		#初始化驗證過的使用者密碼
7408
		$validPasswd="";
7415
		$validPasswd="";
7409
 
7416
 
7410
		#如果不是以運行php的使用者角色來複製檔案
7417
		#如果不是以運行php的使用者角色來複製檔案
7411
		if($conf["username"]!==$_SERVER["LOGNAME"]){
7418
		if($conf["username"]!==$_SERVER["LOGNAME"]){