<span></span><span>php
</span><span>
</span><span>
function
</span><span> doCurlPostRequest</span><span>(</span><span>
$url
</span><span>,</span><span>
$requestString
</span><span>,</span><span>
$timeout
</span><span>=</span><span>5</span><span>)</span><span>{</span><span>
if
</span><span>(</span><span>
$url
</span><span>==</span><span>
""
</span><span>||</span><span>
$requestString
</span><span>==</span><span>
""
</span><span>||</span><span>
$timeout
</span><span><span>0</span><span>){</span><span>
return
</span><span>false</span><span>;</span><span>}</span><span>
$con
</span><span>=</span><span> curl_init</span><span>((</span><span>string</span><span>)</span><span>
$url
</span><span>);</span><span>
curl_setopt</span><span>(</span><span>
$con
</span><span>,</span><span> CURLOPT_HEADER</span><span>,</span><span>false</span><span>);</span><span>
curl_setopt</span><span>(</span><span>
$con
</span><span>,</span><span> CURLOPT_POSTFIELDS</span><span>,</span><span>
$requestString
</span><span>);</span><span>
curl_setopt</span><span>(</span><span>
$con
</span><span>,</span><span> CURLOPT_POST</span><span>,</span><span>true</span><span>);</span><span>
curl_setopt</span><span>(</span><span>
$con
</span><span>,</span><span> CURLOPT_RETURNTRANSFER</span><span>,</span><span>true</span><span>);</span><span>
curl_setopt</span><span>(</span><span>
$con
</span><span>,</span><span> CURLOPT_TIMEOUT</span><span>,</span><span>(</span><span>int</span><span>)</span><span>
$timeout
</span><span>);</span><span>
curl_setopt</span><span>(</span><span>
$con
</span><span>,</span><span> CURLOPT_SSL_VERIFYPEER</span><span>,</span><span>false</span><span>);</span><span>
curl_setopt</span><span>(</span><span>
$con
</span><span>,</span><span> CURLOPT_SSL_VERIFYHOST</span><span>,</span><span>false</span><span>);</span><span>
return
</span><span> curl_exec</span><span>(</span><span>
$con
</span><span>);</span><span>}</span><span>
</span><span>
function
</span><span> doCurlPostsslRequest</span><span>(</span><span>
$url
</span><span>,</span><span>
$requestString
</span><span>,</span><span>
$pemfile
</span><span>,</span><span>
$timeout
</span><span>=</span><span>5</span><span>)</span><span>{</span><span>
if
</span><span>(</span><span>
$url
</span><span>==</span><span>
""
</span><span>||</span><span>
$requestString
</span><span>==</span><span>
""
</span><span>||</span><span>
$timeout
</span><span><span>0</span><span>){</span><span>
return
</span><span>false</span><span>;</span><span>}</span><span>
echo
$pemfile
</span><span>;</span><span>
$con
</span><span>=</span><span> curl_init</span><span>((</span><span>string</span><span>)</span><span>
$url
</span><span>);</span><span>
curl_setopt</span><span>(</span><span>
$con
</span><span>,</span><span> CURLOPT_HEADER</span><span>,</span><span>false</span><span>);</span><span>
curl_setopt</span><span>(</span><span>
$con
</span><span>,</span><span> CURLOPT_POSTFIELDS</span><span>,</span><span>
$requestString
</span><span>);</span><span>
curl_setopt</span><span>(</span><span>
$con
</span><span>,</span><span> CURLOPT_POST</span><span>,</span><span>true</span><span>);</span><span>
curl_setopt</span><span>(</span><span>
$con
</span><span>,</span><span> CURLOPT_RETURNTRANSFER</span><span>,</span><span>true</span><span>);</span><span>
curl_setopt</span><span>(</span><span>
$con
</span><span>,</span><span> CURLOPT_TIMEOUT</span><span>,</span><span>(</span><span>int</span><span>)</span><span>
$timeout
</span><span>);</span><span>
curl_setopt</span><span>(</span><span>
$con
</span><span>,</span><span> CURLOPT_SSL_VERIFYPEER</span><span>,</span><span>1</span><span>);</span><span>
curl_setopt</span><span>(</span><span>
$con
</span><span>,</span><span> CURLOPT_SSL_VERIFYHOST</span><span>,</span><span>2</span><span>);</span><span>
curl_setopt</span><span>(</span><span>
$con
</span><span>,</span><span> CURLOPT_CAINFO</span><span>,</span><span>
$pemfile
</span><span>);</span><span>
return
</span><span> curl_exec</span><span>(</span><span>
$con
</span><span>);</span><span>}</span><span>
</span><span>
function
</span><span> doCurlPostJsonReq</span><span>(</span><span>
$url
</span><span>,</span><span>
$requestString
</span><span>,</span><span>
$timeout
</span><span>=</span><span>25</span><span>){</span><span>
if
</span><span>(</span><span>
$url
</span><span>==</span><span>
""
</span><span>||</span><span>
$requestString
</span><span>==</span><span>
""
</span><span>||</span><span>
$timeout
</span><span><span>0</span><span>){</span><span>
return
</span><span>false</span><span>;</span><span>}</span><span>
$con
</span><span>=</span><span> curl_init</span><span>((</span><span>string</span><span>)</span><span>
$url
</span><span>);</span><span>
curl_setopt</span><span>(</span><span>
$con
</span><span>,</span><span> CURLOPT_HEADER</span><span>,</span><span>false</span><span>);</span><span>
curl_setopt</span><span>(</span><span>
$con
</span><span>,</span><span> CURLOPT_POSTFIELDS</span><span>,</span><span>
$requestString
</span><span>);</span><span>
curl_setopt</span><span>(</span><span>
$con
</span><span>,</span><span> CURLOPT_POST</span><span>,</span><span>true</span><span>);</span><span>
curl_setopt</span><span>(</span><span>
$con
</span><span>,</span><span> CURLOPT_RETURNTRANSFER</span><span>,</span><span>true</span><span>);</span><span>
curl_setopt</span><span>(</span><span>
$con
</span><span>,</span><span> CURLOPT_TIMEOUT</span><span>,</span><span>(</span><span>int</span><span>)</span><span>
$timeout
</span><span>);</span><span> curl_setopt</span><span>(</span><span>
$con
</span><span>,</span><span> CURLOPT_HTTPHEADER</span><span>,</span><span>
array
</span><span>(</span><span>
'Content-Type: application/json'
</span><span>,</span><span>
'Content-Length: '
</span><span>.</span><span>
strlen
</span><span>(</span><span>
$data_string
</span><span>))</span><span>);</span><span>
return
</span><span> curl_exec</span><span>(</span><span>
$con
</span><span>);</span><span>}</span><span>
</span><span>
function
</span><span> doCurlPostFormReq</span><span>(</span><span>
$url
</span><span>,</span><span>
$requestString
</span><span>,</span><span>
$timeout
</span><span>=</span><span>25</span><span>){</span><span>
if
</span><span>(</span><span>
$url
</span><span>==</span><span>
""
</span><span>||</span><span>
$requestString
</span><span>==</span><span>
""
</span><span>||</span><span>
$timeout
</span><span><span>0</span><span>){</span><span>
return
</span><span>false</span><span>;</span><span>}</span><span>
$con
</span><span>=</span><span> curl_init</span><span>((</span><span>string</span><span>)</span><span>
$url
</span><span>);</span><span>
curl_setopt</span><span>(</span><span>
$con
</span><span>,</span><span> CURLOPT_HEADER</span><span>,</span><span>false</span><span>);</span><span>
curl_setopt</span><span>(</span><span>
$con
</span><span>,</span><span> CURLOPT_POSTFIELDS</span><span>,</span><span>
$requestString
</span><span>);</span><span>
curl_setopt</span><span>(</span><span>
$con
</span><span>,</span><span> CURLOPT_POST</span><span>,</span><span>true</span><span>);</span><span>
curl_setopt</span><span>(</span><span>
$con
</span><span>,</span><span> CURLOPT_RETURNTRANSFER</span><span>,</span><span>true</span><span>);</span><span>
curl_setopt</span><span>(</span><span>
$con
</span><span>,</span><span> CURLOPT_TIMEOUT</span><span>,</span><span>(</span><span>int</span><span>)</span><span>
$timeout
</span><span>);</span><span> curl_setopt</span><span>(</span><span>
$con
</span><span>,</span><span> CURLOPT_HTTPHEADER</span><span>,</span><span>
array
</span><span>(</span><span>
'Content-Type: application/x-www-form-urlencoded'
</span><span>)</span><span>);</span><span>
return
</span><span> curl_exec</span><span>(</span><span>
$con
</span><span>);</span><span>}</span><span>
</span><span>
function
</span><span> doCurlGetRequest</span><span>(</span><span>
$url
</span><span>,</span><span>
$data
</span><span>=</span><span>
array
</span><span>(),</span><span>
$timeout
</span><span>=</span><span>10</span><span>)</span><span>{</span><span>
if
</span><span>(</span><span>
$url
</span><span>==</span><span>
""
</span><span>||</span><span>
$timeout
</span><span><span>0</span><span>){</span><span>
return
</span><span>false</span><span>;</span><span>}</span><span>
if
</span><span>(</span><span>
$data
</span><span>!=</span><span>
array
</span><span>())</span><span>{</span><span>
$url
</span><span>=</span><span>
$url
</span><span>.</span><span>
'?'
</span><span>.</span><span> http_build_query</span><span>(</span><span>
$data
</span><span>);</span><span>}</span><span>Log</span><span>::</span><span>write</span><span>(</span><span>
"发送URL["
</span><span>.</span><span>
$url
</span><span>.</span><span>
"]"
</span><span>);</span><span>
$con
</span><span>=</span><span> curl_init</span><span>((</span><span>string</span><span>)</span><span>
$url
</span><span>);</span><span>
curl_setopt</span><span>(</span><span>
$con
</span><span>,</span><span> CURLOPT_HEADER</span><span>,</span><span>false</span><span>);</span><span>
curl_setopt</span><span>(</span><span>
$con
</span><span>,</span><span> CURLOPT_RETURNTRANSFER</span><span>,</span><span>true</span><span>);</span><span>
curl_setopt</span><span>(</span><span>
$con
</span><span>,</span><span> CURLOPT_TIMEOUT</span><span>,</span><span>(</span><span>int</span><span>)</span><span>
$timeout
</span><span>);</span><span>
curl_setopt</span><span>(</span><span>
$con
</span><span>,</span><span> CURLOPT_SSL_VERIFYPEER</span><span>,</span><span>false</span><span>);</span><span>
curl_setopt</span><span>(</span><span>
$con
</span><span>,</span><span> CURLOPT_SSL_VERIFYHOST</span><span>,</span><span>false</span><span>);</span><span>
return
</span><span> curl_exec</span><span>(</span><span>
$con
</span><span>);</span><span>}</span><span>
</span><span>
function
</span><span> msubstr</span><span>(</span><span>
$str
</span><span>,</span><span>
$start
</span><span>=</span><span>0</span><span>,</span><span>
$length
</span><span>=</span><span>0</span><span>,</span><span>
$suffix
</span><span>=</span><span>false</span><span>,</span><span>
$charset
</span><span>=</span><span>
"utf-8"
</span><span>){</span><span>
if
</span><span>(</span><span>mb_strlen</span><span>(</span><span>
$str
</span><span>,</span><span>
"UTF8"
</span><span>)</span><span>>=</span><span>
$length
</span><span>){</span><span>
$next_str
</span><span>=</span><span>
"…"
</span><span>;</span><span>}</span><span>
else
</span><span>{</span><span>
$next_str
</span><span>=</span><span>
""
</span><span>;</span><span>}</span><span>
if
</span><span>(</span><span>function_exists</span><span>(</span><span>
"mb_substr"
</span><span>)){</span><span>
if
</span><span>(</span><span>
$suffix
</span><span>)</span><span>
$re
</span><span>[</span><span>
'utf-8'
</span><span>]</span><span>=</span><span>
"/[x01-x7f]|[xc2-xdf][x80-xbf]|[xe0-xef][x80-xbf]{2}|[xf0-xff][x80-xbf]{3}/"
</span><span>;</span><span>
$re
</span><span>[</span><span>
'gb2312'
</span><span>]</span><span>=</span><span>
"/[x01-x7f]|[xb0-xf7][xa0-xfe]/"
</span><span>;</span><span>
$re
</span><span>[</span><span>
'gbk'
</span><span>]</span><span>=</span><span>
"/[x01-x7f]|[x81-xfe][x40-xfe]/"
</span><span>;</span><span>
$re
</span><span>[</span><span>
'big5'
</span><span>]</span><span>=</span><span>
"/[x01-x7f]|[x81-xfe]([x40-x7e]|xa1-xfe])/"
</span><span>;</span><span>
preg_match_all</span><span>(</span><span>
$re
</span><span>[</span><span>
$charset
</span><span>],</span><span>
$str
</span><span>,</span><span>
$match
</span><span>);</span><span>
$slice
</span><span>=</span><span> join</span><span>(</span><span>
""
</span><span>,</span><span>
array_slice
</span><span>(</span><span>
$match
</span><span>[</span><span>0</span><span>],</span><span>
$start
</span><span>,</span><span>
$length
</span><span>));</span><span>
if
</span><span>(</span><span>
$suffix
</span><span>)</span><span>
return
</span><span>
$slice
</span><span>.</span><span>
"…"
</span><span>;</span><span>
if
</span><span>(!</span><span>
$suffix
</span><span>)</span><span>
return
</span><span>
$slice
</span><span>;</span><span>
return
</span><span>
$slice
</span><span>;</span><span>}</span><span>
</span><span>
function
</span><span> cut_str</span><span>(</span><span>
$string
</span><span>,</span><span>
$sublen
</span><span>,</span><span>
$start
</span><span>=</span><span>0</span><span>,</span><span>
$code
</span><span>=</span><span>
'UTF-8'
</span><span>)</span><span>{</span><span>
if
</span><span>(</span><span>
$code
</span><span>==</span><span>
'UTF-8'
</span><span>)</span><span>{</span><span>
$pa
</span><span>=</span><span>
"/[\x01-\x7f]|[\xc2-\xdf][\x80-\xbf]|\xe0[\xa0-\xbf][\x80-\xbf]|[\xe1-\xef][\x80-\xbf][\x80-\xbf]|\xf0[\x90-\xbf][\x80-\xbf][\x80-\xbf]|[\xf1-\xf7][\x80-\xbf][\x80-\xbf][\x80-\xbf]/"
</span><span>;</span><span>
preg_match_all</span><span>(</span><span>
$pa
</span><span>,</span><span>
$string
</span><span>,</span><span>
$t_string
</span><span>);</span><span>
if
</span><span>(</span><span>
count
</span><span>(</span><span>
$t_string
</span><span>[</span><span>0</span><span>])</span><span>-</span><span>
$start
</span><span>></span><span>
$sublen
</span><span>)</span><span>
return
</span><span> join</span><span>(</span><span>
''
</span><span>,</span><span>
array_slice
</span><span>(</span><span>
$t_string
</span><span>[</span><span>0</span><span>],</span><span>
$start
</span><span>,</span><span>
$sublen
</span><span>));</span><span>
return
</span><span> join</span><span>(</span><span>
''
</span><span>,</span><span>
array_slice
</span><span>(</span><span>
$t_string
</span><span>[</span><span>0</span><span>],</span><span>
$start
</span><span>,</span><span>
$sublen
</span><span>));</span><span>}</span><span>
else
</span><span>{</span><span>
$start
</span><span>=</span><span>
$start
</span><span>*</span><span>2</span><span>;</span><span>
$sublen
</span><span>=</span><span>
$sublen
</span><span>*</span><span>2</span><span>;</span><span>
$strlen
</span><span>=</span><span>
strlen
</span><span>(</span><span>
$string
</span><span>);</span><span>
$tmpstr
</span><span>=</span><span>
''
</span><span>;</span><span>
for
</span><span>(</span><span>
$i
</span><span>=</span><span>0</span><span>;</span><span>
$i
</span><span><span>
$strlen
</span><span>;</span><span>
$i
</span><span>++)</span><span>{</span><span>
if
</span><span>(</span><span>
$i
</span><span>>=</span><span>
$start
</span><span>&&</span><span>
$i
</span><span><span>(</span><span>
$start
</span><span>+</span><span>
$sublen
</span><span>))</span><span>{</span><span>
if
</span><span>(</span><span>ord</span><span>(</span><span>
substr
</span><span>(</span><span>
$string
</span><span>,</span><span>
$i
</span><span>,</span><span>1</span><span>))></span><span>129</span><span>)</span><span>{</span><span>
$tmpstr
</span><span>.=</span><span>
substr
</span><span>(</span><span>
$string
</span><span>,</span><span>
$i
</span><span>,</span><span>2</span><span>);</span><span>}</span><span>
else
</span><span>{</span><span>
$tmpstr
</span><span>.=</span><span>
substr
</span><span>(</span><span>
$string
</span><span>,</span><span>
$i
</span><span>,</span><span>1</span><span>);</span><span>}</span><span>}</span><span>
if
</span><span>(</span><span>ord</span><span>(</span><span>
substr
</span><span>(</span><span>
$string
</span><span>,</span><span>
$i
</span><span>,</span><span>1</span><span>))></span><span>129</span><span>)</span><span>
$i
</span><span>++;</span><span>}</span><span>
*解决json_encode转换中文的问题,在php5.4下json_encode本身解决的这个问题
*/</span><span>
function
</span><span> unescapedUnicode</span><span>(</span><span>
$match
</span><span>)</span><span>{</span><span>
return
</span><span> mb_convert_encoding</span><span>(</span><span>pack</span><span>(</span><span>
'H*'
</span><span>,</span><span>
$match
</span><span>[</span><span>1</span><span>]),</span><span>
'UTF-8'
</span><span>,</span><span>
'UCS-2BE'
</span><span>);</span><span>}</span><span>
</span><span>
function
</span><span> hidtel</span><span>(</span><span>
$phone
</span><span>){</span><span>
$IsWhat
</span><span>=</span><span> preg_match</span><span>(</span><span>
'/(0[0-9]{2,3}[-]?[2-9][0-9]{6,7}[-]?[0-9]?)/i'
</span><span>,</span><span>
$phone
</span><span>);</span><span>
$realip
</span><span>=</span><span>
$_SERVER
</span><span>[</span><span>
"HTTP_X_FORWARDED_FOR"
</span><span>];</span><span>}</span><span>
else
</span><span>
if
</span><span>(</span><span>isset</span><span>(</span><span>
$_SERVER
</span><span>[</span><span>
"HTTP_CLIENT_IP"
</span><span>]))</span><span>{</span><span>
$realip
</span><span>=</span><span>
$_SERVER
</span><span>[</span><span>
"HTTP_CLIENT_IP"
</span><span>];</span><span>}</span><span>
else
</span><span>{</span><span>
$realip
</span><span>=</span><span>
$_SERVER
</span><span>[</span><span>
"REMOTE_ADDR"
</span><span>];</span><span>}</span><span>}</span><span>
else
</span><span>{</span><span>
if
</span><span>(</span><span>
getenv
</span><span>(</span><span>
"HTTP_X_FORWARDED_FOR"
</span><span>)){</span><span>
$realip
</span><span>=</span><span>
getenv
</span><span>(</span><span>
"HTTP_X_FORWARDED_FOR"
</span><span>);</span><span>}</span><span>
else
</span><span>
if
</span><span>(</span><span>
getenv
</span><span>(</span><span>
"HTTP_CLIENT_IP"
</span><span>))</span><span>{</span><span>
$realip
</span><span>=</span><span>
getenv
</span><span>(</span><span>
"HTTP_CLIENT_IP"
</span><span>);</span><span>}</span><span>
else
</span><span>{</span><span>
$realip
</span><span>=</span><span>
getenv
</span><span>(</span><span>
"REMOTE_ADDR"
</span><span>);</span><span>}</span><span>}</span><span>
return
</span><span>
$realip
</span><span>;</span><span>}</span><span>
$bin_str
</span><span>=</span><span>
''
</span><span>;</span><span>
$bin_str
</span><span>=</span><span> preg_replace</span><span>(</span><span>
'/^.{4}(.{4}).{2}(.{6}).{2}(.{6})$/'
</span><span>,</span><span>
'$1$2$3'
</span><span>,</span><span>
$bin_str
</span><span>);</span><span>
<p><span>网站访问地址:http: