tp5常用公共函数

<?php
// +----------------------------------------------------------------------
// | ThinkPHP [ WE CAN DO IT JUST THINK ]
// +----------------------------------------------------------------------
// | Copyright (c) 2006-2016 http://thinkphp.cn All rights reserved.
// +----------------------------------------------------------------------
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
// +----------------------------------------------------------------------
// | Author: 流年 <liu21st@gmail.com>
// +----------------------------------------------------------------------

// 应用公共文件
function show($status, $message, $data = array())
{
    $result = array(
        'ret'     => $status,
        'message' => $message,
        'data'    => $data,
    );

    exit(json_encode($result));
}



//curl
function http_curl($url, $type = 'get', $res = 'json', $arr = '')
{
    /*
    $url 请求的url
    $type 请求类型
    $res 返回数据类型
    $arr post请求参数
     */

    //1. 初始化 curl
    $ch = curl_init();
    //2. 设置 curl 的参数
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
    if ($type == 'post') {
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $arr);
    }
    //3. 采集
    $output = curl_exec($ch);
    //4. 关闭
    curl_close($ch);
    if ($res == 'json') {
        return json_decode($output, true);
    } elseif (curl_errno($ch)) {
        dmp(curl_errno($ch));
    }
}

//postxml 微信统一下单api会用到
function postXml($url, $xmldata)
{
    $url        = $url;
    $postfields = $xmldata;
    $ch         = curl_init();
    $headers    = [
        //"Content-Type:text/html;charset=UTF-8", "Connection: Keep-Alive"
    ];
    //$params[CURLOPT_HTTPHEADER]     = $headers; //自定义header
    $params[CURLOPT_URL]            = $url;    //请求url地址
    $params[CURLOPT_HEADER]         = false; //是否返回响应头信息
    $params[CURLOPT_RETURNTRANSFER] = true; //是否将结果返回
    $params[CURLOPT_FOLLOWLOCATION] = true; //是否重定向
    $params[CURLOPT_POST]           = true;
    $params[CURLOPT_POSTFIELDS]     = $postfields;
    $params[CURLOPT_SSL_VERIFYPEER] = false;
    $params[CURLOPT_SSL_VERIFYHOST] = false;

    curl_setopt_array($ch, $params); //传入curl参数
    $content = curl_exec($ch); //执行

    curl_close($ch); //关闭连接
    return $content; //返回输出登录结果
}

//数组转xml
function ArrToXml($arr)
{
    if (!is_array($arr) || count($arr) == 0)
        return '';

    $xml = "<xml>";
    foreach ($arr as $key => $val) {
        if (is_numeric($val)) {
            $xml .= "<" . $key . ">" . $val . "</" . $key . ">";
        } else {
            $xml .= "<" . $key . "><![CDATA[" . $val . "]]></" . $key . ">";
        }
    }
    $xml .= "</xml>";
    return $xml;
}

//Xml转数组
function XmlToArr($xml)
{
    if ($xml == '')
        return '';
    libxml_disable_entity_loader(true);
    $arr = json_decode(json_encode(simplexml_load_string($xml, 'SimpleXMLElement', LIBXML_NOCDATA)), true);
    return $arr;
}


//把数据写到文件中
function logs($filename, $data)
{
    file_put_contents('./logs/' . $filename, $data);
}

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值