Subversion Repositories php-qbpwcf

Rev

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

Rev 249 Rev 253
Line 11163... Line 11163...
11163
 
11163
 
11164
		}#function createTempFile end
11164
		}#function createTempFile end
11165
 
11165
 
11166
	/*
11166
	/*
11167
	#函式說明:
11167
	#函式說明:
-
 
11168
	#複製檔案、資料夾,只要符合權限就會執行並覆蓋既有內容.
-
 
11169
	#回傳結果:
-
 
11170
	#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
-
 
11171
	#$result["error"],錯誤訊息.
-
 
11172
	#$result["function"],當前執行的函式名稱.
-
 
11173
	#$result["content"],複製好的檔案路徑與名稱.
-
 
11174
	#必填參數:
-
 
11175
	#$conf["file"],字串,檔案的位置與名稱.
-
 
11176
	$conf["file"]="";
-
 
11177
	#$conf["to"],字串,檔案要複製到哪裡.
-
 
11178
	$conf["to"]="";
-
 
11179
	#$conf["fileArgu"],字串,__FILE__的內容,預設為當前檔案的位置.
-
 
11180
	$conf["fileArgu"]=__FILE__;
-
 
11181
	#可省略參數:
-
 
11182
	#無.
-
 
11183
	#參考資料:
-
 
11184
	#無.
-
 
11185
	#備註:
-
 
11186
	#等同於cmd::cp的應用.
-
 
11187
	*/
-
 
11188
	public static function cp(&$conf){
-
 
11189
	
-
 
11190
		#初始化要回傳的結果
-
 
11191
		$result=array();
-
 
11192
 
-
 
11193
		#取得當前執行的函式名稱
-
 
11194
		$result["function"]=__FUNCTION__;
-
 
11195
 
-
 
11196
		#如果沒有參數
-
 
11197
		if(func_num_args()==0){
-
 
11198
 
-
 
11199
			#設置執行失敗
-
 
11200
			$result["status"]="false";
-
 
11201
 
-
 
11202
			#設置執行錯誤訊息
-
 
11203
			$result["error"]="函式".$result["function"]."需要參數";
-
 
11204
 
-
 
11205
			#回傳結果
-
 
11206
			return $result;
-
 
11207
 
-
 
11208
			}#if end
-
 
11209
 
-
 
11210
		#取得參數
-
 
11211
		$result["argu"]=$conf;
-
 
11212
 
-
 
11213
		#如果 $conf 不為陣列
-
 
11214
		if(gettype($conf)!=="array"){
-
 
11215
 
-
 
11216
			#設置執行失敗
-
 
11217
			$result["status"]="false";
-
 
11218
 
-
 
11219
			#設置執行錯誤訊息
-
 
11220
			$result["error"][]="\$conf變數須為陣列形態";
-
 
11221
 
-
 
11222
			#如果傳入的參數為 null
-
 
11223
			if($conf===null){
-
 
11224
 
-
 
11225
				#設置執行錯誤訊息
-
 
11226
				$result["error"][]="\$conf變數不得為null,請檢查函式「".$result["function"]."」的參數設置有無正確!";
-
 
11227
 
-
 
11228
				}#if end
-
 
11229
 
-
 
11230
			#回傳結果
-
 
11231
			return $result;
-
 
11232
 
-
 
11233
			}#if end
-
 
11234
 
-
 
11235
		#檢查參數
-
 
11236
		#函式說明:
-
 
11237
		#檢查必填與可省略參數,可省略參數可指定預設要給與什麼數值內容。
-
 
11238
		#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
-
 
11239
		#$reuslt["error"],執行不正常結束的錯訊息陣列.
-
 
11240
		#$result["function"],當前執行的函式名稱.
-
 
11241
		#$result["passed"],識別要檢查的全體變數是否存在以及型態是否正確的變數,"true"代表檢查全部通過;"false"代表檢查不通過
-
 
11242
		#$result[$shouldBeCheckedVarName]["varExist"],所檢查的變數是否存在,"false"代表不存在;"true"代表存在
-
 
11243
		#$result[$shouldBeCheckedVarName]["varType"],所檢查的變數型態是否正確,"false"代表錯誤;"true"代表正確
-
 
11244
		#$result[$shouldBeCheckedVarName]["error"],每個參數設定的錯誤訊息
-
 
11245
		#$result["shouldNotBeEmpty"],不應該為空字串或控陣列的變數.
-
 
11246
		#$result["argu"],字串陣列,目前輸入的參數名稱陣列.
-
 
11247
		#$result["legalVarName"],字串陣列,合法可用的參數名稱陣列.
-
 
11248
		#$result["notNeedVar"],字串陣列,多餘的參數名稱.
-
 
11249
		#必填寫的參數:
-
 
11250
		#$conf["varInput"],陣列變數,要檢查的陣列變數,請在要檢查的參數前面加上&,這樣變動的結果才能被套用。
-
 
11251
		$conf["variableCheck::checkArguments"]["varInput"]=&$conf;
-
 
11252
		#$conf["mustBeFilledVariableName"],爲必填參數的變數名稱陣列,形態爲陣列變數,元素數量需要跟"mustBeFilledVariableType"參數的元素數量一致,例如: $conf["mustBeFilledVariableName"] = array("id","account","password");
-
 
11253
		$conf["variableCheck::checkArguments"]["mustBeFilledVariableName"]=array("file","to","fileArgu");
-
 
11254
		#$conf["mustBeFilledVariableType"],爲必填參數的變數陣列應該爲何種變數形態,形態爲陣列,元素數量需要跟"mustBeFilledVariableName"參數的元素數量一致,例如: $conf["mustBeFilledVariableType"] = array("string",integer,"double","resource","object"); , null代表不指定變數形態.
-
 
11255
		$conf["variableCheck::checkArguments"]["mustBeFilledVariableType"]=array("string","string","string");
-
 
11256
		#$conf["referenceVarKey"],字串,$conf參數後面的key值,用於移除不要的參考陣列.
-
 
11257
		$conf["variableCheck::checkArguments"]["referenceVarKey"]="variableCheck::checkArguments";
-
 
11258
		#可以省略的參數:
-
 
11259
		#$conf["canBeEmptyString"],字串,必填變數內容如果是空字串就不能算是有設置的話,請設為"false",預設爲"true",可以為空字串.
-
 
11260
		$conf["variableCheck::checkArguments"]["canBeEmptyString"]="false";
-
 
11261
		#$conf["canNotBeEmpty"],字串陣列,哪些必填參數的內容不得為空字串或空陣列,僅當$conf["canBeEmptyString"]為"true"時會生效.
-
 
11262
		#$conf["canNotBeEmpty"]=array();
-
 
11263
		#$conf["canBeEmpty"],字串陣列,哪些必填參數的內容可為空字串或空陣列,僅當$conf["canBeEmptyString"]為"false"時會生效.
-
 
11264
		#$conf["canBeEmpty"]=array();
-
 
11265
		#$conf["skipableVariableCanNotBeEmpty"],字串陣列,哪些可省略參數不可以為空字串或空陣列.
-
 
11266
		#$conf["skipableVariableCanNotBeEmpty"]=array();
-
 
11267
		#$conf["skipableVariableName"],陣列字串,爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableName"] = array("id","account","password");
-
 
11268
		#$conf["variableCheck::checkArguments"]["skipableVariableName"]=array("username","password","cmdOnly");
-
 
11269
		#$conf["skipableVariableType"],陣列字串,爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableType"] = array("string",integer,"double");
-
 
11270
		#$conf["variableCheck::checkArguments"]["skipableVariableType"]=array("string","string","string");
-
 
11271
		#$conf["skipableVarDefaultValue"],字串陣列,每個不存在的可省略變數要初始化為什麼,null與代表不指定,若預設值是參數之一,請將$conf["mustBeFilledVar"]改成"\$conf["\mustBeFilledVar\"]".
-
 
11272
		#$conf["variableCheck::checkArguments"]["skipableVarDefaultValue"]=array($_SERVER["LOGNAME"],null,"true");
-
 
11273
		#$conf["arrayCountEqualCheck"],字串陣列,為檢查哪些陣列參數的元素數量要一樣,$conf["arrayCountEqualCheck"][$i]=array()為第$i組key為哪些的變數其元素數量要相等.
-
 
11274
		#$conf["arrayCountEqualCheck"][]=array();
-
 
11275
		#參考資料來源:
-
 
11276
		#array_keys=>http://php.net/manual/en/function.array-keys.php
-
 
11277
		$checkArguments=variableCheck::checkArguments($conf["variableCheck::checkArguments"]);
-
 
11278
		unset($conf["variableCheck::checkArguments"]);
-
 
11279
 
-
 
11280
		#如果參數檢查失敗
-
 
11281
		if($checkArguments["status"]==="false"){
-
 
11282
 
-
 
11283
			#設置執行不正常
-
 
11284
			$result["status"]="false";
-
 
11285
 
-
 
11286
			#設置執行錯誤
-
 
11287
			$result["error"]=$checkArguments;
-
 
11288
 
-
 
11289
			#回傳結果
-
 
11290
			return $result;
-
 
11291
 
-
 
11292
			}#if end
-
 
11293
 
-
 
11294
		#如果參數檢查不通過
-
 
11295
		if($checkArguments["passed"]==="false"){
-
 
11296
 
-
 
11297
			#設置執行不正常
-
 
11298
			$result["status"]="false";
-
 
11299
 
-
 
11300
			#設置執行錯誤
-
 
11301
			$result["error"]=$checkArguments;
-
 
11302
 
-
 
11303
			#回傳結果
-
 
11304
			return $result;
-
 
11305
 
-
 
11306
			}#if end
-
 
11307
			
-
 
11308
		#函式說明:
-
 
11309
		#複製檔案、資料夾,只要符合權限就會執行並覆蓋既有內容.
-
 
11310
		#回傳結果:
-
 
11311
		#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
-
 
11312
		#$result["error"],錯誤訊息.
-
 
11313
		#$result["function"],當前執行的函式名稱.
-
 
11314
		#$result["content"],複製好的檔案路徑與名稱.
-
 
11315
		#必填參數:
-
 
11316
		#$conf["file"],字串,檔案的位置與名稱.
-
 
11317
		$conf["cmd::cp"]["file"]=$conf["file"];
-
 
11318
		#$conf["to"],字串,檔案要複製到哪裡.
-
 
11319
		$conf["cmd::cp"]["to"]=$conf["to"];
-
 
11320
		#$conf["fileArgu"],字串,__FILE__的內容,預設為當前檔案的位置.
-
 
11321
		$conf["cmd::cp"]["fileArgu"]=$conf["fileArgu"];
-
 
11322
		#可省略參數:
-
 
11323
		#$conf["cmdOnly"],字串,是否要只允許在cmd環境下運行,預設為"true",代表是;"false"代表沒有限制.
-
 
11324
		$conf["cmd::cp"]["cmdOnly"]="false";
-
 
11325
		#$conf["username"],字串,要以哪個使用者來執行,預設為執行該php程式的使用者.
-
 
11326
		#$conf["username"]="";
-
 
11327
		#$conf["password"],字串,使用者對應的密碼,預設不使用.
-
 
11328
		#$conf["password"]="";
-
 
11329
		#參考資料:
-
 
11330
		#無.
-
 
11331
		#備註:
-
 
11332
		#無.
-
 
11333
		$cp=cmd::cp($conf["cmd::cp"]);
-
 
11334
		unset($conf["cmd::cp"]);
-
 
11335
		
-
 
11336
		#如果執行異常
-
 
11337
		if($cp["status"]==="false"){
-
 
11338
		
-
 
11339
			#設置執行不正常
-
 
11340
			$result["status"]="false";
-
 
11341
 
-
 
11342
			#設置執行錯誤
-
 
11343
			$result["error"]=$cp;
-
 
11344
 
-
 
11345
			#回傳結果
-
 
11346
			return $result;
-
 
11347
		
-
 
11348
			}#if end
-
 
11349
			
-
 
11350
		#設置要回傳的 content
-
 
11351
		$result["content"]=$cp["content"];
-
 
11352
			
-
 
11353
		#設置執行正常
-
 
11354
		$result["status"]="true";
-
 
11355
		
-
 
11356
		#回傳結果
-
 
11357
		return $result;
-
 
11358
	
-
 
11359
		}#function cp end
-
 
11360
 
-
 
11361
	/*
-
 
11362
	#函式說明:
11168
	#分割檔案,分割出來的檔案名稱編號為aa, ab ac...ba, bb, bc...,zx, zy, zz的順序.
11363
	#分割檔案,分割出來的檔案名稱編號為aa, ab ac...ba, bb, bc...,zx, zy, zz的順序.
11169
	#回傳結果:
11364
	#回傳結果:
11170
	#$result["status"],"true"代表移除成功,"false"代表移除失敗.
11365
	#$result["status"],"true"代表移除成功,"false"代表移除失敗.
11171
	#$result["error"],錯誤訊息陣列.
11366
	#$result["error"],錯誤訊息陣列.
11172
	#$result["function"],當前執行的函數名稱.
11367
	#$result["function"],當前執行的函數名稱.