common.php 2.2 KB
<?php

if (!function_exists('http_request')) {
// curl请求
    function http_request($url, $timeout = 30, $header = array())
    {
        if (!function_exists('curl_init')) {
            throw new Exception('server not install curl');
        }
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_HEADER, true);
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);
        if (!empty($header)) {
            curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
        }
        $data = curl_exec($ch);
        list($header, $data) = explode("\r\n\r\n", $data);
        $http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
        if ($http_code == 301 || $http_code == 302) {
            $matches = array();
            preg_match('/Location:(.*?)\n/', $header, $matches);
            $url = trim(array_pop($matches));
            curl_setopt($ch, CURLOPT_URL, $url);
            curl_setopt($ch, CURLOPT_HEADER, false);
            $data = curl_exec($ch);
        }

        if ($data == false) {
            curl_close($ch);
        }
        @curl_close($ch);

        return $data;
    }
}

if (!function_exists('insert_openid_info')) {
    /**
     * 将授权用户信息保存起来
     */
    function insert_openid_info($data)
    {
        $data['upt_time'] = time();
        $res = \think\Db::name("openid_info")->where("openid", $data['openid'])->find();
//        file_put_contents("ccc.txt", date("Y-m-d H:i:s") . json_encode($data) . PHP_EOL, FILE_APPEND);
        if (!empty($res)) {
            \think\Db::name("openid_info")->where("openid", $data['openid'])->update($data);
        } else {
            \think\Db::name("openid_info")->insertGetId($data);
        }
        return true;
    }
}
/**
 * 生成订单号
 * 重复就重新生成
 */
if (!function_exists('getOrderSn')) {
    function getOrderSn()
    {
        $orderid = date("YmdHis") . mt_rand(1000, 999999);
        $odcks = \think\Db::name('order')
            ->where(['order_no' => $orderid])
            ->find();
        while (!empty($odcks)) {
            $orderid = date("YmdHis") . mt_rand(1000, 999999);
        }
        return $orderid;
    }
}