class sms {
public static function post ( $url , $params =array() , $cookies =array() , $returnHeader =false, $timeout =1 ) {
if (is_array($params )){
$content = empty ($params )?"" :http_build_query($params );
}else {
$content =$params ;
}
$opts = array (
'http' =>array (
'method' => 'POST' ,
'timeout' =>$timeout ,
'header' =>
"Accept-Language: zh-cn\r\n" .
"User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)\r\n" .
"Referer: $url\r\n" .
"Connection: Close\r\n" .
(!empty ($cookies )?"Cookie: " .self ::cookie_build($cookies )."\r\n" :"" ).
"Content-Type: application/x-www-form-urlencoded\r\n" .
"Content-Length: " .strlen($content )."\r\n" ,
'content' => $content
)
);
$context = stream_context_create($opts );
$result = file_get_contents($url ,false ,$context );
if ($returnHeader ){
return array ("result" =>$result ,"header" =>$http_response_header );
}else {
return $result ;
}
}
public static function cookie_build ( $data ) {
if ( is_array( $data ) ) {
$cookie = '' ;
foreach ( $data as $d ) {
if (!empty ($d ['expires' ]) && $d ['expires' ]<time()){continue ;}
$cookie [] = $d ['value' ]['key' ].'=' .$d ['value' ]['value' ];
}
if ( count( $cookie ) > 0 ) {
return trim( implode( '; ' , $cookie ) );
}
}
return false ;
}
}
$data = array (
'apikey' => self ::$apikey ,
'mobile' => (int)$mobile ,
'tpl_id' => (int)$tpl_id ,
'tpl_value' => $msg ,
);
$r = self ::post(self ::$gateway , $data );