'AL','alaska'=>'AK','arizona'=>'AZ','arkansas'=>'AR','california'=>'CA','colorado'=>'CO','connecticut'=>'CT','delaware'=>'DE','florida'=>'FL','georgia'=>'GA','hawaii'=>'HI','idaho'=>'ID','illinois'=>'IL','indiana'=>'IN','iowa'=>'IA','kansas'=>'KS','kentucky'=>'KY','louisiana'=>'LA','maine'=>'ME','maryland'=>'MD','massachusetts'=>'MA','michigan'=>'MI','minnesota'=>'MN','mississippi'=>'MS','missouri'=>'MO','montana'=>'MT','nebraska'=>'NE','nevada'=>'NV','new hampshire'=>'NH','new jersey'=>'NJ','new mexico'=>'NM','new york'=>'NY','north carolina'=>'NC','north dakota'=>'ND','ohio'=>'OH','oklahoma'=>'OK','oregon'=>'OR','pennsylvania'=>'PA','rhode island'=>'RI','south carolina'=>'SC','south dakota'=>'SD','tennessee'=>'TN','texas'=>'TX','utah'=>'UT','vermont'=>'VT','virginia'=>'VA','washington'=>'WA','west virginia'=>'WV','wisconsin'=>'WI','wyoming'=>'WY','district of columbia'=>'DC','virgin islands'=>'VI');
		$data['province'] = preg_replace('/( | | |\s)/',' ',$data['province']);
		$data['province'] = trim($data['province'],' ');
		$dataprovince = strlen($data['province'])==2?$data['province']:$ToState[strtolower($data['province'])];
		$data['province'] = $dataprovince;
		//your account details here
		
		$key = 'L7Vtg0uUP0BxgNfp';
		$password = 'iOqmHwfjx12sxszdEZstGtRYs';
		$AccountNumber = '644155250';
		$MeterNumber = '250140772';
		$xml = '';
		$xml.='';
		$xml.='';
		$xml.='';
		$xml.='';
		$xml.='';
		$xml.='';
		$xml.=''.$key.'';
		$xml.=''.$password.'';
		$xml.='';
		$xml.='';
		$xml.=''.$key.'';
		$xml.=''.$password.'';
		$xml.='';
		$xml.='';
		$xml.='';
		$xml.=''.$AccountNumber.'';
		$xml.=''.$MeterNumber.'';
		$xml.='';
		$xml.='';
		//$xml.='Ship_International_basic';
		$xml.='';
		$xml.='';
		$xml.='ship';
		$xml.='23';
		$xml.='0';
		$xml.='0';
		$xml.='';
		$xml.='';
		$xml.=''.date('Y-m-d',time()).'T'.date('H:i:s',time()).'-12:00'.'';
		$xml.='REGULAR_PICKUP';
		$xml.='INTERNATIONAL_PRIORITY';//优先。INTERNATIONAL_ECONOMY经济
		//超过重量需要换包装,现在不设置,超出也按0.4走
		if($data['zzl'] < '0.5')
		{
			$xml.='FEDEX_PAK';
		}
		else
		{
			$xml.='FEDEX_BOX';
		}
		$xml.='';//发货人信息开始
		$xml.=''.$AccountNumber.'';
		$xml.='';
		$xml.=''.$data['warehouse']['company'].'';//$data['warehouse']['company']
		$xml.=''.$data['warehouse']['company'].'';//$data['warehouse']['company']
		$xml.=''.$data['warehouse']['phone'].'';//$data['warehouse']['phone']
		//$xml.=''.$data['warehouse']['name'].'';
		$xml.='';
		$xml.='';
		$xml.='4703,building C,bodi center,ningwei street';//$data['warehouse']['address']
		$xml.=''.$data['warehouse']['city'].'';//$data['warehouse']['city']
		//$xml.='TN';
		$xml.='450016';//$data['warehouse']['zipcode'] //许昌联邦要求使用郑州邮编:450016
		$xml.=''.$data['warehouse']['lb'].'';
		$xml.='';
		$xml.='';
		$xml.='';//收货人信息开始
		$xml.=''.$AccountNumber.'';
		$xml.='';
		$xml.=''.$data['name'].'';
		$xml.=''.$data['name'].'';
		$xml.=''.$data['phone'].'';
		//$xml.=''.$data['name'].'';
		$xml.='';
		$xml.='';
		$xml.=''.$data['address'].'';
		$xml.=''.$data['address2'].'';
		$xml.=''.$data['city'].'';
		$xml.=''.$data['province'].'';
		$xml.=''.$data['zipcode'].'';
		$xml.=''.$data['lb'].'';
		$xml.='';
		$xml.='';
		$xml.='';
		$xml.='SENDER';
		$xml.='';
		$xml.='';
		$xml.=''.$AccountNumber.'';
		$xml.='';
		$xml.='He Cong';
		//$xml.='';
		$xml.='';
		$xml.='';
		$xml.='';
		$xml.='';
		//ETD开始
		$xml.='';
		$xml.='ELECTRONIC_TRADE_DOCUMENTS';
		$xml.='';
        $xml.='COMMERCIAL_INVOICE';
        $xml.='';
		$xml.='';
        //ETD结束
		$xml.='';
		$xml.='';
		$xml.='RECIPIENT';
		$xml.='';
		$xml.='';
		$xml.='';
		//$xml.='';
		//$xml.='BUSINESS_STATE';//雇主识别代码BUSINESS_NATIONAL、BUSINESS_STATE、BUSINESS_UNION、PERSONAL_NATIONAL、PERSONAL_STATE
		//$xml.='213456';//这里填税号
		//$xml.='';
		//$xml.='';
		//$xml.='12345';
		//$xml.='INPUT YOUR INFORMATION';
		//$xml.='';
		$xml.='';
		$xml.='';
		$xml.='';
		$xml.='DOCUMENTS_ONLY';
		$xml.='';
		$xml.='USD';
		$xml.=''.$data['zsbjz'].'';
		$xml.='';
		//DESC1---:Commodities循环
		$xml.='';
		$xml.=''.$data['zjs'].'';//件数
		$xml.=''.$data['sbpm'].' HSCODE:67041900';//描述
		$xml.='CN';
		$xml.='';//需要填写重量
		$xml.='KG';//重量:磅
		$xml.='0.4';//重量填写单位为KG $data['zzl']
		$xml.='';
		$xml.=''.$data['ts'].'';//需要填写数量
		$xml.='cm';
		$xml.='';
		$xml.='USD';
		$xml.=''.$data['dtsbjz'].'';
		$xml.='';
		$xml.='';
		/**
		//DESC2
		$xml.='';
		$xml.='0';//件数
		$xml.='WIGS SYNTHETIC HAIR PRODUCTS';//描述
		$xml.='CN';
		$xml.='';//需要填写重量
		$xml.='KG';//重量:磅
		$xml.='0.0001';//重量填写单位为KG
		$xml.='';
		$xml.='1';//需要填写数量
		$xml.='cm';
		$xml.='';
		$xml.='USD';
		$xml.='0';
		$xml.='';
		$xml.='';
		//DESC3
		$xml.='';
		$xml.='0';//件数
		$xml.='MAKE WOMEN MORE BEAUTIFUL WITH THE HAIR';//描述
		$xml.='CN';
		$xml.='';//需要填写重量
		$xml.='KG';//重量:磅
		$xml.='0.0001';//重量填写单位为KG
		$xml.='';
		$xml.='1';//需要填写数量
		$xml.='cm';
		$xml.='';
		$xml.='USD';
		$xml.='0';
		$xml.='';
		$xml.='';
		//DESC4
		$xml.='';
		$xml.='0';//件数
		$xml.='MADE IN CHINA';//描述
		$xml.='CN';
		$xml.='';//需要填写重量
		$xml.='KG';//重量:磅
		$xml.='0.0001';//重量填写单位为KG
		$xml.='';
		$xml.='1';//需要填写数量
		$xml.='cm';
		$xml.='';
		$xml.='USD';
		$xml.='0';
		$xml.='';
		$xml.='';	
		**/	
		$xml.='';
		$xml.='30.37(f)';
		$xml.='';
		$xml.='';
$xml.='';
		$xml.='COMMON2D';
		$xml.='PDF';
		$xml.='STOCK_4X6.75';
		$xml.='';
		//发票参数开始
		$xml.='';
        $xml.='COMMERCIAL_INVOICE';
		//ETD
		$xml.='';
        $xml.='';
        $xml.='PDF';
        $xml.='PAPER_LETTER';
        $xml.='true';
        $xml.='';
		$xml.='';
        $xml.='LETTER_HEAD';
		$xml.='IMAGE_1';
		$xml.='';
		$xml.='';
		$xml.='SIGNATURE';
		$xml.='IMAGE_2';
		$xml.='';
		//ETD
        $xml.='';
        $xml.='';
		//发票参数结束
		$xml.='LIST';//费率请求类型
		$xml.=''.$data['zjs'].'';//包装数量
		$xml.='';
		$xml.='1';
		$xml.='';
		$xml.='KG';
		$xml.=''.$data['zzl'].'';
		$xml.='';
		//超过重量需要填尺寸,现在不设置,超出也按0.4走
		if($data['zzl'] > '0.4')
		{
		    $xml.='';
		    $xml.='4';//$data['boxlength']
		    $xml.='20';
		    $xml.='30';
		    $xml.='CM';
		    $xml.='';
		}
		//$xml.='Book';//阿联酋需要选择
		$xml.='';
		$xml.='CUSTOMER_REFERENCE';
		$xml.=''.$data['number'].'';
		$xml.='';
		$xml.='';
		$xml.='';
		$xml.='';
		$xml.='';
		$xml.='';
		$ch = curl_init();
		curl_setopt($ch, CURLOPT_URL, 'https://ws.fedex.com:443/web-services');
		curl_setopt($ch, CURLOPT_POSTFIELDS, $xml);
		curl_setopt($ch, CURLOPT_VERBOSE, 1);
		curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
		curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
		curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
		curl_setopt($ch, CURLOPT_POST, 1);
		$result_xml = curl_exec($ch);
		$result_xml = str_replace(array(':','-'), '', $result_xml);
		@$values = json_decode(json_encode(simplexml_load_string($result_xml, 'SimpleXMLElement', LIBXML_NOCDATA)), true);
		if(isset($values['SOAPENVBody']['ProcessShipmentReply']['CompletedShipmentDetail']['MasterTrackingId']['TrackingNumber']))
		{
		    $g = array('x'=>'1','waybill'=>$values['SOAPENVBody']['ProcessShipmentReply']['CompletedShipmentDetail']['MasterTrackingId']['TrackingNumber'],'label'=>$values['SOAPENVBody']['ProcessShipmentReply']['CompletedShipmentDetail']['CompletedPackageDetails']['Label']['Parts']['Image'],'invoice'=>$values['SOAPENVBody']['ProcessShipmentReply']['CompletedShipmentDetail']['ShipmentDocuments']['Parts']['Image']);
		}
		else if(isset($values['SOAPENVBody']['ProcessShipmentReply']['Notifications']))
		{
			$a = '';
			if(isset($values['SOAPENVBody']['ProcessShipmentReply']['Notifications']['LocalizedMessage']))
			{
				$a = $values['SOAPENVBody']['ProcessShipmentReply']['Notifications']['LocalizedMessage'];
			}
			else
			{
                foreach ($values['SOAPENVBody']['ProcessShipmentReply']['Notifications'] as $v) 
		        {
				    $a .= $v['LocalizedMessage'].'--';
			    }
			}
			$g = array('x'=>'0','Description'=>$a);
		}
		else
		{
			$g = array('x'=>'0','Description'=>'未知错误');
		}
		return $g;
	}
	
	public function get_Upload_signature($id='',$img='')//上传签名图片
	{
		/**
		//一下为旧的测试账号
		$key = 'lx0vfuP9eZMXyDdd';
		$password = '1e6HFUgU1SxoZ6CpYMXBupqQY';
		$AccountNumber = '510087720';
		$MeterNumber = '100421603';
		**/
		
		//以下为旧的正式账号
		/**
		$key = 'L7Vtg0uUP0BxgNfp';
		$password = 'iOqmHwfjx12sxszdEZstGtRYs';
		$AccountNumber = '644155250';
		$MeterNumber = '250140772';
		**/
		
		$key = 'L7Vtg0uUP0BxgNfp';
		$password = 'iOqmHwfjx12sxszdEZstGtRYs';
		$AccountNumber = '644155250';
		$MeterNumber = '250140772';
		
        $xml='';
        $xml.='';
        $xml.='';
        $xml.='';
        $xml.='';
        $xml.='';
        $xml.=''.$key.'';
        $xml.=''.$password.'';
        $xml.='';
        $xml.='';
        $xml.=''.$key.'';
        $xml.=''.$password.'';
        $xml.='';
        $xml.='';
        $xml.='';
        $xml.=''.$AccountNumber.'';
        $xml.=''.$MeterNumber.'';
        $xml.='';
        $xml.='';
        $xml.='UploadImagesRequest_v11';
        $xml.='';
        $xml.='';
        $xml.='cdus';
        $xml.='11';
        $xml.='0';
        $xml.='0';
        $xml.='';
        $xml.='';
        $xml.='IMAGE_2';//填IMAGE_1和IMAGE_2,两个都需要传一遍
        $xml.='';//填LOGO 700*50 64编码 不用站长工具,转换错误
        $xml.='';
        $xml.='';
        $xml.='';
        $xml.='';
	    $ch = curl_init();
	    //https://ws.fedex.com:443/web-services 正式
        //https://wsbeta.fedex.com:443/web-services 测试
	    curl_setopt($ch, CURLOPT_URL, 'https://ws.fedex.com:443/web-services');
	    curl_setopt($ch, CURLOPT_POSTFIELDS, $xml);
	    curl_setopt($ch, CURLOPT_VERBOSE, 1);
	    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
	    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
	    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
	    curl_setopt($ch, CURLOPT_POST, 1);
	    $result_xml = curl_exec($ch);
	    $result_xml = str_replace(array(':','-'), '', $result_xml);
	    @$values = json_decode(json_encode(simplexml_load_string($result_xml, 'SimpleXMLElement', LIBXML_NOCDATA)), true);
	    return $values;
	}
	
	public function get_logistics($number)//追踪快递
	{
		$key = 'L7Vtg0uUP0BxgNfp';
		$password = 'iOqmHwfjx12sxszdEZstGtRYs';
		$AccountNumber = '644155250';
		$MeterNumber = '250140772';
		
		$xml='';
		$xml.='';
        $xml.='';
        $xml.='';
        $xml.='';
        $xml.='';
        $xml.=''.$key.'';
        $xml.=''.$password.'';
        $xml.='';
        $xml.='';
        $xml.=''.$key.'';
        $xml.=''.$password.'';
        $xml.='';
        $xml.='';
        $xml.='';
        $xml.=''.$AccountNumber.'';
        $xml.=''.$MeterNumber.'';
        $xml.='';
        $xml.='';
        $xml.='Track By Number_v16';
        $xml.='';
        $xml.='EN';
        $xml.='US';
        $xml.='';
        $xml.='';
        $xml.='';
        $xml.='trck';
        $xml.='16';
        $xml.='0';
        $xml.='0';
        $xml.='';
        $xml.='';
        $xml.='FDXE';
        $xml.='';
        $xml.='TRACKING_NUMBER_OR_DOORTAG';
        $xml.=''.$number['waybill'].'';
        $xml.='';
        $xml.='';
        $xml.='';
        $xml.='';
        $xml.='rates evertitque aequora';
        $xml.='';
        $xml.='';
        $xml.='';
        $xml.='';
        $xml.='';
		$ch = curl_init();
	    //https://ws.fedex.com:443/web-services 正式
        //https://wsbeta.fedex.com:443/web-services 测试
	    curl_setopt($ch, CURLOPT_URL, 'https://ws.fedex.com:443/web-services');
	    curl_setopt($ch, CURLOPT_POSTFIELDS, $xml);
	    curl_setopt($ch, CURLOPT_VERBOSE, 1);
	    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
	    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
	    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
	    curl_setopt($ch, CURLOPT_POST, 1);
	    $result_xml = curl_exec($ch);
	    $result_xml = str_replace(array(':','-'), '', $result_xml);
	    @$values = json_decode(json_encode(simplexml_load_string($result_xml, 'SimpleXMLElement', LIBXML_NOCDATA)), true);
		if($values['SOAPENVBody']['TrackReply']['HighestSeverity'] == 'SUCCESS')//SUCCESS成功,FAILURE失败,ERROR错误,WARNING警告,NOTE注意
		{
			$zt = isset($values['SOAPENVBody']['TrackReply']['CompletedTrackDetails']['TrackDetails']['StatusDetail']['Description'])?$values['SOAPENVBody']['TrackReply']['CompletedTrackDetails']['TrackDetails']['StatusDetail']['Description']:'cw'; //In transit在途中,At FedEx destination facility配送中,Delivered完成
			if($zt == 'In transit')
			{
				$exstate = 2;
			}
			else if($zt == 'At FedEx destination facility')
			{
				$exstate = 3;
			}
			else if($zt == 'Delivered')
			{
				$exstate = 4;
			}
			else
			{
				$exstate = 0;
			}
			if($exstate > 0)
			{
			    $content = date('Y-m-d H',time()).'-查询成功';
			    $list = array('exstate'=>$exstate,'content'=>$content,'f'=>1);//正常可发送站内信
			}
			else
			{
				$list = '';
			}
		}
		else
		{
			$content = date('Y-m-d H',time()).'-查询失败';
			$list = array('content'=>$content,'f'=>0);//非正常只更改详情信息
		}
	    return $list;
	}
}  //end class