php的curl,uploadfile上传文件,xml解析,邮件发送,动态时间,去重,等
来源:互联网 发布:淘宝订单号查询 编辑:程序博客网 时间:2024/06/06 01:59
/**
* 请求接口返回内容
* @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
*
*/
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;
}
- php的curl,uploadfile上传文件,xml解析,邮件发送,动态时间,去重,等
- php curl 上传文件
- php curl上传文件
- PHP curl 上传文件
- PHP Curl 上传文件
- php处理微信小程序wx.uploadFile(OBJECT)发送过来的文件
- php 发送邮件(HTML)解析乱码问题(多余叹号!等)
- 用uploadfile组件实现动态文件上传到ORACLE数据库
- 用uploadfile组件实现动态文件上传到ORACLE数据库
- php中通过curl smtp发送邮件
- php中通过curl smtp发送邮件
- php中通过curl smtp发送邮件
- php使用curl上传文件
- php curl fsockopen 上传文件
- php使用curl上传文件
- PHP使用cURL上传文件
- PHP通过CURL上传文件
- php 通过curl上传文件
- 利用代理模式隔离Android第三方组件(图片加载库,网络库)
- bzoj 3517: 翻硬币
- STM32的can现场总线实验心得
- kmalloc/kfree,vmalloc/vfree函数用法和区别
- easyui样式改造-pagination挤出窗口
- php的curl,uploadfile上传文件,xml解析,邮件发送,动态时间,去重,等
- MySQL B 和 B + 树
- 创建一个适用于android工程的maven库
- 关于开启蓝牙的一些问题
- ajax 和jsonp 不是一码事 细读详解
- C++结构体:默认构造函数,复制构造函数,重载=运算符
- 11.计算容器最大储水量
- iOS 点击Tableview中的Button来确定Section和Row
- Android启动模式之SingleTask和onNewIntent方法