php的curl,uploadfile上传文件,xml解析,邮件发送,动态时间,去重,等

/**
* 请求接口返回内容
* @param string url [请求的URL地址]
* @param string params [请求的参数]
* @param int ipost [是否采用POST形式]
* @return string
*/
function curl(url,params=false,ispost=0){
httpInfo = array();
ch = curl_init();

    curl_setopt( $ch, CURLOPT_HTTP_VERSION , CURL_HTTP_VERSION_1_1 );
    curl_setopt( $ch, CURLOPT_USERAGENT , 'JuheData' );
    curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT , 60 );
    curl_setopt( $ch, CURLOPT_TIMEOUT , 60);
    curl_setopt( $ch, CURLOPT_RETURNTRANSFER , true );
    curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, true);
    curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt( $ch, CURLOPT_SSL_VERIFYHOST, false);
    if( $ispost )
    {
        curl_setopt( $ch , CURLOPT_POST , true );
        curl_setopt( $ch , CURLOPT_POSTFIELDS , $params );
        curl_setopt( $ch , CURLOPT_URL , $url );
    }
    else
    {
        if($params){
            curl_setopt( $ch , CURLOPT_URL , $url.'?'.$params );
        }else{
            curl_setopt( $ch , CURLOPT_URL , $url);
        }
    }
    $response = curl_exec( $ch );
    if ($response === FALSE) {
      // $this -> ajaxReturn(array('status' => 0,'info' => '网络错误,请重试','url' =>''));
        return false;
    }
    $httpCode = curl_getinfo( $ch , CURLINFO_HTTP_CODE );
    $httpInfo = array_merge( $httpInfo , curl_getinfo( $ch ) );
    curl_close( $ch );
    return $response;
}

/*
* 文件、图片、视频的上传
* name:上传文件的名字
* maxSize:允许的最大内存3M
* type:类型,默认为图片
*/
function uploadFile(name,maxSzie=3145728,type = 0){
switch (type){
case 0:
arr = array(‘jpg’,’jpeg’,’gif’,’png’,’bmp’);
break;
case 1:
arr = array(‘mp3’,’ogg’);
break;
case 2:
arr = array(‘mp4’,’rmvb’,’3gp’,’avi’);
break;
}
if(is_array(_FILES[name][‘size’])){
file_name_arr = _FILES[name][‘name’];
file_size_arr = _FILES[name][‘size’];
file_obj_arr = _FILES[name][‘tmp_name’];
path_arr = array();
foreach(file_name_arr as key => val){
if(!val) continue;
name_arr = explode(‘.’, file_name_arr[key]);
lastName = end(name_arr);
if(in_array(lastName, arr) && file_size_arr[key] < maxSzie){
savename = UPLOAD_PATH.uniqid().’.’.lastName;
if(move_uploaded_file(file_obj_arr[key], savename)){
array_push(path_arr, savename);
}else{
return false;
}
}else{
return false;
}
}
return path_arr;
}else{
file_name = _FILES[name][‘name’];
file_size = _FILES[name][‘size’];
file_obj = _FILES[name][‘tmp_name’];
arr_name = explode(‘.’, $file_name);
lastName = end(arr_name);
if(in_array(lastName,arr) && file_size < maxSzie){
savename = UPLOAD_PATH.uniqid().’.’.lastName;
if(move_uploaded_file(file_obj, savename)){
return savename;
}else{
return false;
}
}else{
return false;
}
}
}

/*
* 创建XML
* parentNode:根目录的名字
* arr:XML的内容
*/
function xml_encode(parentNode,arr){
xml = new DOMDocument(‘1.0.0’, ‘utf-8’);
parentNode_obj = xml ->createElement(parentNode);
parentNode_obj = xml -> appendChild(parentNode_obj);

 foreach($arr as $key => $val){
    $obj = $xml -> createElement($key,$val);
    $parentNode_obj -> appendChild($obj);
 }

 $str =  $xml -> saveXML();

 if($parentNode == 'xml'){
    $arr = explode('?>', $str);
    return end($arr);
 }
 return $str;

}

/*
* 解析XML
* str:XML key:想要解析出的键
*/

function xml_decode(str,key){
xml_obj = simplexml_load_string(str);
xml_obj = (array)xml_obj;

  if(is_string($key)){
     $params = $xml_obj[$key];
     return (string)$params;
  }else{
     $arr = array();
     foreach ($key as $v){
        $params = $xml_obj[$v];
        array_push($arr,(string)$params);
     }
     return $arr;
}

}

/*
* 发送邮件验证
* to:要发送的地址
* subject:邮件主题
* body:邮件内容
*
*/
//require ‘PHPMailer/PHPMailerAutoload.php’;
class SendMailer{
function __construct(to,subject,body){
mail = new PHPMailer();
mail -> isSMTP();
mail -> CharSet=’UTF-8’; //设置邮件的字符编码,这很重要,不然中文乱码
mail -> SMTPAuth = true; //开启认证
mail -> Port = 25; //邮箱服务的端口默认为25
mail -> Host = “smtp.126.com”;
mail -> Username = ‘jinzhigang_hi@126.com’; // SMTP username
$mail -> Password = ‘King0514’;

    $mail->setFrom('jinzhigang_hi@126.com', '金志刚');
    $mail->addAddress($to, '');     // Add a recipient

    $mail->isHTML(true);                                  // Set email format to HTML

    $mail->Subject = $subject;
    $mail->Body    = $body;

    if(!$mail->send()) {
        echo json_encode(array('result' => 'error'));
    } else {
        echo json_encode(array('result' => 'result'));
    }       
}

}

/*
* 动态时间
* time:动态发布的时间
*/
function trends_time(time){
//判断传入的参数是字符串还是数字,若是字符串则转换为数字类型
time=is_string(time)?strtotime(time):time;
//将传入的时间参数赋予一个变量保存下来
_time=time;

$time=abs($time-time());
//判断时间差
//一分钟之内,返回‘刚刚’
if ($time<60){
    return '刚刚';
}else if ($time<3600){//一小时内,返回几分钟
    return floor($time/60).'分钟内';
}else if ($time<24*3600){//一天之内,返回几小时
    return floor($time/3600).'小时内';
}else if ($time<24*3600*30){//一个月之内,返回几天
    return floor($time/(3600*24)).'天内';
}else if ($time<24*3600*365){//一年内,返回几月几日
    return date('m-d',$_time);
}else {//超过一年,返回哪一年哪一月哪一日
    return date('Y-m-d',$_time);
}

}

/*
* 解析JSON
* str:解析的Json字符串
* key:想要获得的键
*/
function decode_json(str,key){
json = (array)json_decode(str);
return json[key];
}

/*
* 获得文件的工程路径(目录)
* dir:文件名
*/
function scan_dir(dir){
if (handle = opendir(dir)){
arr = array();
while (file = readdir(handle)){
if (file != ‘.’&& file!=’..’){
if (is_dir(dir.’/’.file)){
arr[file] = scan_dir(dir.’/’.file);
}else {
arr[] = file;
}
}
}

}
return false;

}

/*
* 去重
* arr:想要处理的数组或字符串
*/
function uniqid_array(arr){
if(!is_array(arr)){
return false;
}
foreach(arr as key => val){
foreach(arr as k => v){
if(key === k){
continue;
}

        if($val === $v){
            $arr[$key] = '';
        }
    }
}

$_arr = array();
foreach($arr as $key => $val){
    if($val === ''){
        continue;
    }
    $_arr[$key] = $val;
}
return $_arr;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值