本节内容:
PHP CURL封装类
例子:
/**
* CURL封装类
* by www.
*/
class Curl_Class
{
function Curl_Class()
{
return true;
}
function execute($method, $url, $fields = '', $userAgent = '', $httpHeaders = '', $username = '', $password = '')
{
$ch = Curl_Class::create();
if (false === $ch)
{
return false;
}
if (is_string($url) && strlen($url))
{
$ret = curl_setopt($ch, CURLOPT_URL, $url);
}
else
{
return false;
}
//是否显示头部信息
curl_setopt($ch, CURLOPT_HEADER, false);
//
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
if ($username != '')
{
curl_setopt($ch, CURLOPT_USERPWD, $username . ':' . $password);
}
$method = strtolower()($method);
if ('post' == $method)
{
curl_setopt($ch, CURLOPT_POST, true);
if (is_array($fields))
{
$sets = array();
foreach ($fields AS $key => $val)
{
$sets[] = $key . '=' . urlencode($val);
}
$fields = implode('&',$sets);
}
curl_setopt($ch, CURLOPT_POSTFIELDS, $fields);
}
else if ('put' == $method)
{
curl_setopt($ch, CURLOPT_PUT, true);
}
//curl_setopt($ch, CURLOPT_PROGRESS, true);
//curl_setopt($ch, CURLOPT_VERBOSE, true);
//curl_setopt($ch, CURLOPT_MUTE, false);
curl_setopt($ch, CURLOPT_TIMEOUT, 3);//设置curl超时秒数,例如将信息POST出去3秒钟后自动结束运行。
if (strlen($userAgent))
{
curl_setopt($ch, CURLOPT_USERAGENT, $userAgent);
}
if (is_array($httpHeaders))
{ // www.
curl_setopt($ch, CURLOPT_HTTPHEADER, $httpHeaders);
}
$ret = curl_exec($ch);
if (curl_errno($ch))
{
curl_close($ch);
return array(curl_error($ch), curl_errno($ch));
}
else
{
curl_close($ch);
if (!is_string($ret) || !strlen($ret))
{
return false;
}
return $ret;
}
}
function post($url, $fields, $userAgent = '', $httpHeaders = '', $username = '', $password = '')
{
$ret = Curl_Class::execute('POST', $url, $fields, $userAgent, $httpHeaders, $username, $password);
if (false === $ret)
{
return false;
}
if (is_array($ret))
{
return false;
}
return $ret;
}
function get($url, $userAgent = '', $httpHeaders = '', $username = '', $password = '')
{
$ret = Curl_Class::execute('GET', $url, '', $userAgent, $httpHeaders, $username, $password);
if (false === $ret)
{
return false;
}
if (is_array($ret))
{
return false;
}
return $ret;
}
function create()
{
$ch = null;
if (!function_exists('curl_init'))
{
return false;
}
$ch = curl_init();
if (!is_resource($ch))
{
return false;
}
return $ch;
}
}
您可能感兴趣的文章:
php curl模拟post请求的例子
php curl模块的用法举例
PHP添加CURL扩展库的二种方法
php curl超时设置详解
php CURL模拟cookie登录的代码
php curl上传文件的简单例子
php curl实现get,post和cookie的实例代码
php中开启curl扩展的方法详解
php curl post的简单示例
php curl错误代码列表(收集)
php curl用法的实例代码
php curl中post与get应用实例代码
php中通过curl smtp发送邮件的例子
PHP中用CURL伪造IP来源的方法
php使用curl伪造IP来源的代码
php curl 学习总结
本节内容:
php字符串转数组的代码
例子:
/**
* 把字符串转成数组,支持汉字,限utf-8格式
* 整理:脚 本 学 堂 www.
* @param $str
* @return array
*/
function StringToArray($str)
{
$result = array();
$len = strlen($str);
$i = 0;
while($i < $len){
$chr = ord($str[$i]);
if($chr == 9 || $chr == 10 || (32 <= $chr && $chr <= 126)) {
$result[] = substr($str,$i,1);
$i +=1;
}elseif(192 <= $chr && $chr <= 223){
$result[] = substr($str,$i,2);
$i +=2;
}elseif(224 <= $chr && $chr <= 239){
$result[] = substr($str,$i,3);
$i +=3;
}elseif(240 <= $chr && $chr <= 247){
$result[] = substr($str,$i,4);
$i +=4;
}elseif(248 <= $chr && $chr <= 251){
$result[] = substr($str,$i,5);
$i +=5;
}elseif(252 <= $chr && $chr <= 253){
$result[] = substr($str,$i,6);
$i +=6;
}
}
return $result;
}
本节内容:
验证身份证号码正确性的php代码
例子:
<?php
/**
* 验证身份证号
* by www.
* @param $vStr
* @return bool
*/
function isCreditNo($vStr)
{
$vCity = array(
'11','12','13','14','15','21','22',
'23','31','32','33','34','35','36',
'37','41','42','43','44','45','46',
'50','51','52','53','54','61','62',
'63','64','65','71','81','82','91'
);
if (!preg_match('/^([\d]{17}[xX\d]|[\d]{15})$/', $vStr)) return false;
if (!in_array(substr($vStr, 0, 2), $vCity)) return false;
$vStr = preg_replace('/[xX]$/i', 'a', $vStr);
$vLength = strlen($vStr);
if ($vLength == 18)
{
$vBirthday = substr($vStr, 6, 4) . '-' . substr($vStr, 10, 2) . '-' . substr($vStr, 12, 2);
} else {
$vBirthday = '19' . substr($vStr, 6, 2) . '-' . substr($vStr, 8, 2) . '-' . substr($vStr, 10, 2);
}
if (date('Y-m-d', strtotime($vBirthday)) != $vBirthday) return false;
if ($vLength == 18)
{
$vSum = 0;
for ($i = 17 ; $i >= 0 ; $i--)
{ // www.
$vSubStr = substr($vStr, 17 - $i, 1);
$vSum += (pow(2, $i) % 11) * (($vSubStr == 'a') ? 10 : intval($vSubStr , 11));
}
if($vSum % 11 != 1) return false;
}
return true;
}
您可能感兴趣的文章:
JS验证身份证有效性的实例代码
asp.net 验证身份证号码的代码一例
C#身份证验证的代码一例
PHP身份证正则验证(兼容15,18位身份证)代码一例
用于身份证验证的不错的js脚本
实现身份证号码验证的js代码
身份证号码验证的正则表达式实例
js 验证身份证号码的代码(附实例、下载地址)
验证身份证号码的js代码(功能强大 非常好用)
验证身份证号码的js代码(完美支持15与18位身份证)
js 身份证号码验证代码(非常好用,支持15 18位)