今天对了一下阿里云视频点播插件,用到了几个公共的方法函数,希望可以给同学们共同学习分享一下,对接其他的接口也可以用的到。

1、object转换array

/***object转换array*@param $array [object对象]* @return  array
*/
function object_array($array){if(is_object($array)){$array = (array)$array;}if(is_array($array)){foreach($array as $key=>$value){$array[$key] = object_array($value);}}return $array;
}

2、请求接口返回内容

/*** 请求接口返回内容* @param  string $url [请求的URL地址]* @param  string $params [请求的参数]* @param  int $ipost [是否采用POST形式]* @return  string*/
function juhecurl($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);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) {//echo "cURL Error: " . curl_error($ch);return false;}$httpCode = curl_getinfo( $ch , CURLINFO_HTTP_CODE );$httpInfo = array_merge( $httpInfo , curl_getinfo( $ch ) );curl_close( $ch );return $response;
}

3、返回iso、Android、ajax的json格式数据

/*** 返回iso、Android、ajax的json格式数据* @param  array  $data           需要发送到前端的数据* @param  string  $message 成功或者错误的提示语* @param  integer $code    状态码: SUCCESS:成功  ERROR:失败* @return string                 json格式的数据*/
function ajax_return($data='',$message='成功',$status=‘SUCCESS’,$callback=''){$all_data=array('status'=>$status,'msg'=>$message,'callback'=>$callback,);if ($data!=='') {$all_data['data']=$data;// app 禁止使用和为了统一字段做的判断$reserved_words=array('id','title','price','product_title','product_id','product_category','product_number');foreach ($reserved_words as $k => $v) {if (array_key_exists($v, $data)) {echo 'app不允许使用【'.$v.'】这个键名 —— 此提示是function.php 中的ajax_return函数返回的';die;}}}// 如果是ajax或者app访问;则返回json数据 pc访问直接p出来echo json_encode($all_data);exit(0);
}

4、xml和Array 互相转换

function arrayToXml($arr){$xml = "<xml>";foreach ($arr as $key=>$val){if(is_array($val)){$xml.="<".$key.">".$this->arrayToXml($val)."</".$key.">";}else{$xml.="<".$key.">".$val."</".$key.">";}}$xml.="</xml>";return $xml;
}
function xmlToArray($xml,$type=''){//禁止引用外部xml实体libxml_disable_entity_loader(true);//simplexml_load_string()解析读取xml数据,然后转成json格式$xmlstring = simplexml_load_string($xml, 'SimpleXMLElement', LIBXML_NOCDATA);if ($type == "json") {$json = json_encode($xmlstring);return $json;}$arr = json_decode(json_encode($xmlstring), true);return $arr;
}

后期会陆续的更新中。。。。。

PHP研发对接第三方接口常用的一些方法函数相关推荐

  1. java给第三方接口发送数据_对接第三方接口--使用post请求发送json数据

    对接第三方接口–使用post请求发送json数据 实习4个多月,终于转正!终于可以安心好好上班,好好学习!第一篇播客记录下工作中的中的小知识点. 本文记录的内容如下: 1.使用HttpClient相关 ...

  2. 对接第三方接口(短信,支付)

    前言 第三方短信接口,支付接口广泛应用于金融领域与电商领域,这是我在14年工作时的一些经验总结,现在分享出来,希望能对一部分朋友有所帮助! 内容 一:对接短信接口 对接短信接口大体分为两个步骤: 1. ...

  3. java对接第三方接口

    1.准备与第三方接口对接的账号 配置到了Apollo上面 @Value("${taofake.appId}")private String appId;@Value("$ ...

  4. java将长网址转换为短网址 用第三方接口 常用于生成二维码时需要

    该方法适用于任何将长网址转换为短网址. 在二维码生成的时候因为二维码生成的类会根据传入的内容生成相对应的二维码,当内容越丰富时二维码的识别就比较复杂难以识别.在此时就需要用到. 短链接,通俗来说,就是 ...

  5. 解决对接第三方接口乱码问题

    现代软件,程序员一般有两大任务: (1)自身业务,操作数据库 (2)外部业务,对接接口 然,对接接口经常出现乱码问题. 以下是我用RestTemplate解决对接接口的乱码问题解决方案: public ...

  6. vue+element对接第三方接口实现校园发帖网站“淘柳职”

    一.前言 项目演示地址:可私聊作者获取(演示地址不定时变化) 接上一篇博客<vue+elementui+java 前后端分离实现学校帖子网站,仿照"淘柳职"学校大作业> ...

  7. springboot中使用socket对接第三方接口

    1.接口对接需求如下 1.1 socket协议 1.2 报文中数据均是左对齐右补空格 1.3 报文编码采用:GBK 1.4 接口文档: 2.代码 import java.io.IOException; ...

  8. java 对接第三方接口

    感想 这是我第一次要写对外的接口,一开始还是比较迷茫的,因为要考虑到数据的安全传输,很多技术我都还是比较的不熟悉,后来经过对每一个技术的了解,终于还是写出来了. 感觉一切都是从陌生到熟悉,再到亲切 哈 ...

  9. php对接第三方接口

    /*** 有赞云平台获取数据** @param $url* @param $data* @return mixed*/public function posturl($url, $data){$dat ...

最新文章

  1. 3dmax导出fbx时如何带贴图_houdini | 第一章 第三节 贴图与顶点动画
  2. 成人短信11条,全看懂的是超级色狼
  3. RecyclerView的滚动事件OnScrollListener研究
  4. POJ 3368 Frequent values 【ST表RMQ 维护区间频率最大值】
  5. python dicom 器官分割_图像识别 | 使用Python对医学Dicom文件的预处理(含代码)
  6. 解决 502、504 Gateway Time-out(nginx)
  7. request获得请求参数
  8. J2SE理解之一:声明和访问控制
  9. tomcat和java安装,JavaWeb-Tomcat下载和安装
  10. 支付业务与技术架构学习总结(3)——账务系统
  11. 关于用友华表Cell插件代码
  12. matlab 离散求偏导,matlab怎么求离散曲面的偏导数
  13. 2021年数学建模国赛湖北赛区推荐国奖名单
  14. 没有发生GC也进入了安全点?这段关于安全点的JVM源码有点意思!
  15. 陈天奇:机器学习科研的十年
  16. 上海计算机专科学院分数线,分数线|上海
  17. Android Studio中no module问题
  18. MES系统功能助力注塑行业降本增效
  19. Auto CAD Mac版基础入门必看
  20. UART RS-232 485通信 串口通信传输时间计算 波特率计算

热门文章

  1. 高端羽绒服价值重构 SKYPEOPLE天空人的新答案
  2. AI绘图实战(七):室内设计线稿渲染、景观设计手绘稿改动、建筑照片转线稿|Stable Diffusion成为设计师生产力工具
  3. C++部分知识点记录
  4. 农夫过河算法java,Java简单实现农夫过河问题示例
  5. 多层多数据库模式开发的实验(五)数据层-Access数据库
  6. layui dtree ajax,layui中使用dtree插件数据无法正常显示
  7. IE 11 请求语言zh-Hans-CN所引发的问题及解决方案
  8. 本期话题:技术点详解---新型网管理念TR-069
  9. 紫光展锐展讯SPRD刷机包pac文件解包提取img步骤
  10. Ubuntu16.04超低配版显卡GTX730配置pytorch-gpu+cuda9.0+cudnn