Subversion Repositories php-qbpwcf

Rev

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

Rev 21 Rev 33
Line 702... Line 702...
702
		
702
		
703
		#回傳結果
703
		#回傳結果
704
		return $result;
704
		return $result;
705
 
705
 
706
		}#funcion spiltString end
706
		}#funcion spiltString end
-
 
707
	
-
 
708
	/*
-
 
709
	#函式說明:
-
 
710
	#將mutf7的字串轉成uft8
-
 
711
	#回傳結果:
-
 
712
	#$result["status"],執行成功與否,若爲"true",代表執行成功,若爲"false"代表執失敗。
-
 
713
	#$result["error"],錯誤訊息陣列.
-
 
714
	#$result["function"],當前執行的函數名稱.
-
 
715
	#$result["content"],轉好的字串.
-
 
716
	#必填參數:
-
 
717
	#$conf["stringIn"],字串,要處理的字串.
-
 
718
	$conf["stringIn"]="";
-
 
719
	#可省略參數:
-
 
720
	#無.
-
 
721
	#參考資料:
-
 
722
	#https://www.php.net/manual/en/function.mb-convert-encoding.php
-
 
723
	#https://www.php.net/manual/en/mbstring.supported-encodings.php
-
 
724
	#備註:
-
 
725
	#無.
-
 
726
	*/
-
 
727
	public static function utf7_imap_to_utf8($conf){
-
 
728
	
-
 
729
		#初始化要回傳的內容
-
 
730
		$result=array();
-
 
731
 
-
 
732
		#取得當前執行的函數名稱
-
 
733
		$result["function"]=__FUNCTION__;
-
 
734
 
-
 
735
		#如果 $conf 不為陣列
-
 
736
		if(gettype($conf)!="array"){
-
 
737
			
-
 
738
			#設置執行失敗
-
 
739
			$result["status"]="false";
-
 
740
			
-
 
741
			#設置執行錯誤訊息
-
 
742
			$result["error"][]="\$conf變數須為陣列形態";
-
 
743
 
-
 
744
			#如果傳入的參數為 null
-
 
745
			if($conf==null){
-
 
746
				
-
 
747
				#設置執行錯誤訊息
-
 
748
				$result["error"][]="\$conf變數不得為null,請檢查函數「".$result["function"]."」的參數設置有無正確!";
-
 
749
				
-
 
750
				}#if end
-
 
751
 
-
 
752
			#回傳結果
-
 
753
			return $result;
-
 
754
			
-
 
755
			}#if end
-
 
756
 
-
 
757
		#檢查參數
-
 
758
		#函式說明:
-
 
759
		#檢查必填與可省略的參數,可省略參數可指定預設要給與什麼數值內容。
-
 
760
		#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
-
 
761
		#$reuslt["error"],執行不正常結束的錯訊息陣列.
-
 
762
		#$result["function"],當前執行的函式名稱.
-
 
763
		#$result["passed"],識別要檢查的全體變數是否存在以及型態是否正確的變數,"true"代表檢查全部通過;"false"代表檢查不通過
-
 
764
		#$result[$shouldBtCheckedVarName]["varExist"],所檢查的變數是否存在,"false"代表不存在;"true"代表存在
-
 
765
		#$result[$shouldBtCheckedVarName]["varType"],所檢查的變數型態是否正確,"false"代表錯誤;"true"代表正確
-
 
766
		#$result[$shouldBtCheckedVarName]["error"],每個參數設定的錯誤訊息
-
 
767
		#$result["argu"],字串陣列,目前輸入的參數名稱陣列.
-
 
768
		#$result["legalVarName"],字串陣列,合法可用的參數名稱陣列.
-
 
769
		#$result["notNeedVar"],字串陣列,多餘的參數名稱.
-
 
770
		#必填寫的參數:
-
 
771
		#$conf["varInput"],陣列變數,要檢查的陣列變數,請在要檢查的參數前面加上&,這樣變動的結果才能被套用。
-
 
772
		$conf["variableCheck::checkArguments"]["varInput"]=&$conf;
-
 
773
		#$conf["mustBeFilledVariableName"],爲必填參數的變數名稱陣列,形態爲陣列變數,元素數量需要跟"mustBeFilledVariableType"參數的元素數量一致,例如: $conf["mustBeFilledVariableName"] = array("id","account","password");
-
 
774
		$conf["variableCheck::checkArguments"]["mustBeFilledVariableName"]=array("stringIn");
-
 
775
		#$conf["mustBeFilledVariableType"],爲必填參數的變數陣列應該爲何種變數形態,形態爲陣列,元素數量需要跟"mustBeFilledVariableName"參數的元素數量一致,例如: $conf["mustBeFilledVariableType"] = array("string",integer,"double","resource","object"); 
-
 
776
		$conf["variableCheck::checkArguments"]["mustBeFilledVariableType"]=array("string");
-
 
777
		#$conf["referenceVarKey"],字串,$conf參數後面的key值,用於移除不要的參考陣列.
-
 
778
		$conf["variableCheck::checkArguments"]["referenceVarKey"]="variableCheck::checkArguments";
-
 
779
		#可以省略的參數:
-
 
780
		#$conf["canBeEmptyString"],必填變數內容如果是空字串就不能算是有設置的話,請設為"false",預設爲"true",可以為空字串.
-
 
781
		#$conf["canBeEmptyString"]="false";
-
 
782
		#$conf["skipableVariableName"],爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableName"] = array("id","account","password");
-
 
783
		#$conf["skipableVariableName"]=array();
-
 
784
		#$conf["skipableVariableType"],爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableType"] = array("string",integer,"double"); 
-
 
785
		#$conf["skipableVariableType"]=array();
-
 
786
		#$conf["skipableVarDefaultValue"],字串陣列,每個不存在的可省略變數要初始化為什麼,null與代表不指定,若預設值是參數之一,請將$conf["mustBeFilledVar"]改成"\$conf["\mustBeFilledVar\"]".
-
 
787
		#$conf["skipableVarDefaultValue"]=array("");
-
 
788
		#$conf["arrayCountEqualCheck"],字串陣列,為檢查哪些陣列參數的元素數量要一樣,$conf["arrayCountEqualCheck"][$i]=array()為第$i組key為哪些的變數其元素數量要相等.
-
 
789
		#$conf["arrayCountEqualCheck"][]=array();
-
 
790
		#參考資料來源:
-
 
791
		#array_keys=>http://php.net/manual/en/function.array-keys.php
-
 
792
		$checkResult=variableCheck::checkArguments($conf["variableCheck::checkArguments"]);
-
 
793
		unset($conf["variableCheck::checkArguments"]);
-
 
794
 
-
 
795
		#如果檢查有誤
-
 
796
		if($checkResult["status"]==="false"){
-
 
797
			
-
 
798
			#設置錯誤識別
-
 
799
			$result["status"]="false";
-
 
800
			
-
 
801
			#設置錯誤訊息
-
 
802
			$result["error"]=$checkResult;
-
 
803
			
-
 
804
			#回傳結果
-
 
805
			return $result;
-
 
806
			
-
 
807
			}#if end
707
		
808
		
-
 
809
		#如果檢查不通過
-
 
810
		if($checkResult["passed"]==="false"){
-
 
811
			
-
 
812
			#設置錯誤識別
-
 
813
			$result["status"]="false";
-
 
814
			
-
 
815
			#設置錯誤訊息
-
 
816
			$result["error"]=$checkResult;
-
 
817
			
-
 
818
			#回傳結果
-
 
819
			return $result;
-
 
820
			
-
 
821
			}#if end
-
 
822
	
-
 
823
		#取得轉好編碼的內容
-
 
824
		$result["content"]=mb_convert_encoding($conf["stringIn"],"UTF8","UTF7-IMAP");
-
 
825
	
-
 
826
		#設置執行正常
-
 
827
		$result["status"]="true";
-
 
828
	
-
 
829
		#回傳結果
-
 
830
		return $result;
-
 
831
	
-
 
832
		}#function utf7_imap_to_utf8 end
-
 
833
	
708
	/*
834
	/*
709
	#函式說明:
835
	#函式說明:
710
	#將多個固定格式的字串分開,並回傳分開的結果
836
	#將多個固定格式的字串分開,並回傳分開的結果
711
	#回傳結果:
837
	#回傳結果:
712
	#$result["status"],執行成功與否,若爲"true",代表執行成功,若爲"false"代表執失敗。
838
	#$result["status"],執行成功與否,若爲"true",代表執行成功,若爲"false"代表執失敗。
Line 3958... Line 4084...
3958
		#無.
4084
		#無.
3959
		#參考資料:
4085
		#參考資料:
3960
		#無.
4086
		#無.
3961
		#備註:
4087
		#備註:
3962
		#無.
4088
		#無.
-
 
4089
		$conf["fileAccess::createTempFile"]=array();
-
 
4090
		$createTempFile=fileAccess::createTempFile($conf["fileAccess::createTempFile"]);
3963
		$createTempFile=fileAccess::createTempFile();
4091
		unset($conf["fileAccess::createTempFile"]);
3964
		
4092
		
3965
		#如果沒有符合的分割符號
4093
		#如果沒有符合的分割符號
3966
		if($createTempFile["status"]==="false"){
4094
		if($createTempFile["status"]==="false"){
3967
		
4095
		
3968
			#設置執行失敗
4096
			#設置執行失敗