v-Brocloni 3 years ago
parent
commit
a98a43cb8c
6 changed files with 335 additions and 0 deletions
  1. +132
    -0
      Config/DataBaseConfig.class.php
  2. +1
    -0
      Config/目录结构说明.txt
  3. +1
    -0
      Public/目录结构说明.txt
  4. +98
    -0
      Utils/sinaUtils.class.php
  5. +102
    -0
      Utils/util.class.php
  6. +1
    -0
      Utils/目录结构目录.txt

+ 132
- 0
Config/DataBaseConfig.class.php View File

@@ -0,0 +1,132 @@
<?php

/**
* Created by PhpStorm.
* User: Steven
* Date: 2016/10/12
* Time: 10:56
*/
require_once ROOT_PATH . '/ZZBS/Utils/util.class.php';

defined('DOMAIN') or define('DOMAIN', 'zhizhuchuxing.com');
defined('CS_DOMAIN') or define('CS_DOMAIN', 'cs.'. DOMAIN);
defined('CS1_DOMAIN') or define('CS1_DOMAIN', 'cs1.'. DOMAIN);

class DataBaseConfig
{
//正式数据库
private $MYSQL_HOST = "180.168.4.58";
private $MYSQL_USER = "root";
private $MYSQL_PASSWORD = "123456";
private $MYSQL_DB = "ctsdata";
private $MYSQL_PORT = "8090";

//测试数据库
private $MYSQL_HOST1 = "180.168.4.58";
private $MYSQL_USER1 = "root";
private $MYSQL_PASSWORD1 = "123456";
private $MYSQL_DB1 = "ctsdata_test";
private $MYSQL_PORT1 = "8090";

/*//原waice数据库
private $MYSQL_HOST2 = "180.168.4.58";
private $MYSQL_USER2 = "spider";
private $MYSQL_PASSWORD2 = "PjGPWNUgOYe6i1Ef";
private $MYSQL_DB2 = "waice";
private $MYSQL_PORT2 = "8090";*/

//新waice数据库【迁移到新服务器的主数据库】
private $MYSQL_HOST2 = "106.14.56.77";
private $MYSQL_USER2 = "spider";
private $MYSQL_PASSWORD2 = "PjGPWNUgOYe6i1Ef";
private $MYSQL_DB2 = "ctsdata";
private $MYSQL_PORT2 = "3306";

//Memcache配置
private $MEMCACHE_HOST = "139.224.30.29";
private $MEMCACHE_PORT = "11211";
private $MEMCACHE_USER = "memcached";
private $API_GPS_ACCOUNT = "15618818219";
private $API_GPS_PASSWORD = "123456";

/**
* 链接正式数据库
* @return PDO
*/
function conn()
{
try {
$pdo = new PDO("mysql:host=" . $this->MYSQL_HOST . ";port=" . $this->MYSQL_PORT . ";dbname=" . $this->MYSQL_DB, $this->MYSQL_USER, $this->MYSQL_PASSWORD, array(PDO::MYSQL_ATTR_INIT_COMMAND => "set names utf8"));
return $pdo;
} catch (PDOException $e) {
zzcsUtils::writeLog('new PDO failed:' . $e->getMessage());
}
}

/**
* 链接测试数据库
* @return PDO
*/
function conn_test()
{
try {
$pdo = new PDO("mysql:host=" . $this->MYSQL_HOST1 . ";port=" . $this->MYSQL_PORT1 . ";dbname=" . $this->MYSQL_DB1, $this->MYSQL_USER1, $this->MYSQL_PASSWORD1, array(PDO::MYSQL_ATTR_INIT_COMMAND => "set names utf8"));
return $pdo;
} catch (PDOException $e) {
zzcsUtils::writeLog('new PDO failed:' . $e->getMessage());
}
}

/**
* 链接waice数据库
* @return PDO
*/
function conn_waice()
{
try {
$pdo = new PDO("mysql:host=" . $this->MYSQL_HOST2 . ";port=" . $this->MYSQL_PORT2 . ";dbname=" . $this->MYSQL_DB2, $this->MYSQL_USER2, $this->MYSQL_PASSWORD2, array(PDO::MYSQL_ATTR_INIT_COMMAND => "set names utf8"));
return $pdo;
} catch (PDOException $e) {
zzcsUtils::writeLog('new PDO failed:' . $e->getMessage());
}
}

/**
* 添加缓存
* @param $key
* @param $value
*/
public function set_memcache($key, $value)
{
$mem = new Memcache;
$mem->connect($this->MEMCACHE_HOST, $this->MEMCACHE_PORT);
$mem->set($key, $value);
}

/**
* 获取内存中的数据
* @param $key
* @return array|string
*/
public function get_memcache($key)
{
$mem = new Memcache;
$mem->connect($this->MEMCACHE_HOST, $this->MEMCACHE_PORT);
$value = $mem->get($key);
return $value;
}

/**
* 删除键值对应的数据
* @param $key
* @return bool
*/
public function delete_memcache($key)
{
$mem = new Memcache;
$mem->connect($this->MEMCACHE_HOST, $this->MEMCACHE_PORT);
$value = $mem->delete($key);
return $value;
}

}

+ 1
- 0
Config/目录结构说明.txt View File

@@ -0,0 +1 @@
核心配置文件:例如:数据库配置文件

+ 1
- 0
Public/目录结构说明.txt View File

@@ -0,0 +1 @@
公共资源文件:例如公用的js、images、css

+ 98
- 0
Utils/sinaUtils.class.php View File

@@ -0,0 +1,98 @@
<?php
/**
* Created by PhpStorm.
* User: Steven
* Date: 2016/10/12
* Time: 11:19
*/
require_once 'util.class.php';

class sinaUtils
{
private $SINA_APPKEY = "31641035";//Sina App_Key

//获取请求结果
function curlQuery($url)
{
//设置附加HTTP头
$addHead = array(
"Content-type: application/json"
);
//初始化curl,当然,你也可以用fsockopen代替
$curl_obj = curl_init();
//设置网址
curl_setopt($curl_obj, CURLOPT_URL, $url);
//附加Head内容
curl_setopt($curl_obj, CURLOPT_HTTPHEADER, $addHead);
//是否输出返回头信息
curl_setopt($curl_obj, CURLOPT_HEADER, 0);
//将curl_exec的结果返回
curl_setopt($curl_obj, CURLOPT_RETURNTRANSFER, 1);
//设置超时时间
curl_setopt($curl_obj, CURLOPT_TIMEOUT, 15);
//执行
$result = curl_exec($curl_obj);
//关闭curl回话
curl_close($curl_obj);
return $result;
}

//简单处理下url,sina对于没有协议(http://)开头的和不规范的地址会返回错误
function filterUrl($url = '')
{
$url = trim(strtolower($url));
$url = trim(preg_replace('/^http:\//', '', $url));
if ($url == '')
return false;
else
return urlencode('http://' . $url);
}

//根据长网址获取短网址
function sinaShortenUrl($long_url)
{
$access_url = "https://api-ssl.bitly.com/v3/shorten?access_token=" . BITACCESSTOKEN . "&longUrl=" . $long_url;
$result = utils::httpRequest($access_url);
$return_result = json_decode($result, true);
if ($return_result["status_code"] == 200) {
$url = $return_result["data"]["url"];
$return_url = str_replace("http://", "https://", $url);
return $return_url;
} else {
return false;
}

//拼接请求地址,此地址你可以在官方的文档中查看到
$url = 'http://api.t.sina.com.cn/short_url/shorten.json?source=' . $this->SINA_APPKEY . '&url_long=' . $long_url;
//获取请求结果
$result = curlQuery($url);
//下面这行注释用于调试,
//print_r($result);exit();
//解析json
$json = json_decode($result);
//异常情况返回false
if (isset($json->error) || !isset($json[0]->url_short) || $json[0]->url_short == '')
return false;
else
return $json[0]->url_short;
}

//根据短网址获取长网址,此函数重用了不少sinaShortenUrl中的代码,以方便你阅读对比,你可以自行合并两个函数
function sinaExpandUrl($short_url)
{
//拼接请求地址,此地址你可以在官方的文档中查看到
$url = 'http://api.t.sina.com.cn/short_url/expand.json?source=' . $this->SINA_APPKEY . '&url_short=' . $short_url;
//获取请求结果
$result = curlQuery($url);
//下面这行注释用于调试
//print_r($result);exit();
//解析json
$json = json_decode($result);
//异常情况返回false
if (isset($json->error) || !isset($json[0]->url_long) || $json[0]->url_long == '')
return false;
else
return $json[0]->url_long;
}

}

+ 102
- 0
Utils/util.class.php View File

@@ -0,0 +1,102 @@
<?php

/**
* Created by PhpStorm.
* User: Steven
* Date: 2016/10/8
* Time: 17:01
*
* Class utils 公共工具类
*/
class utils
{
/**
*创建日记类
* @param $log log内容
*/
/* static function writeLog($log)
{
$dir = __DIR__ . "/../Log/";
if (!is_dir($dir)) {
mkdir($dir);
}
$filename = $dir . date("Y-m-d") . ".log";
file_put_contents($filename, date("Y-m-d H:i:s") . "\t" . $log . PHP_EOL, FILE_APPEND);
}*/

static function httpRequest($url, $data = null)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
if (!empty($data)) {
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
}
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($ch);
curl_close($ch);
return $output;
}

/**
* 发送HTTP请求
* @param $url
* @param array $param
* @return mixed
* @throws Exception
*/
static function httpsPost($url, $param = array())
{
$ch = curl_init(); // 初始化一个 cURL 对象
curl_setopt($ch, CURLOPT_URL, $url); // 设置需要抓取的URL
curl_setopt($ch, CURLOPT_HEADER, 0); // // 设置header
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // 设置cURL 参数,要求结果保存到字符串中还是输出到屏幕上。
// 如果你想PHP去做一个正规的HTTP POST,设置这个选项为一个非零值。这个POST是普通的 application/x-www-from-urlencoded 类型,多数被HTML表单使用。
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($param)); // 传递一个作为HTTP “POST”操作的所有数据的字符串。//http_build_query:生成 URL-encode 之后的请求字符串
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Content-type:application/x-www-form-urlencoded;charset=utf-8'
));
$rtn = curl_exec($ch); // 运行cURL,请求网页
if ($errno = curl_errno($ch)) {
throw new Exception ('Curl Error(' . $errno . '):' . curl_error($ch));
}
curl_close($ch); // 关闭URL请求
return $rtn; // 返回获取的数据
}

/**
* 发送短信
* @param $phones 电话号码
* @param $user_name 用户名称
* @param $content 短信内容
* @param $order_id 订单号
* @return array|mixed
*/
static function sendTelMessage($phones, $user_name, $content, $order_id)
{
$send_data = array();
$send_data["cdkey"] = "8SDK-EMY-6699-RISUM";
$send_data["password"] = "175348";
$send_data["phone"] = $phones;
$send_data["message"] = '【蜘蛛行】' . $content;
if (SEND_MESSAGE == true) {
//$url='http://www.mxtong.net.cn/GateWay/Services.asmx/DirectSend?UserID=995596&Account=alert&Password=zzcx8888&Phones='.$phones.'&Content='.$content.'【蜘蛛行】&SendTime=&SendType=1&PostFixNumber=';
$url = 'http://hprpt2.eucp.b2m.cn:8080/sdkproxy/sendsms.action';
//echo $url;
$response = httpRequest($url, $send_data);
// echo $response;die();
writeLog('url' . $url . "返回值" . $response);
} else {
return array("未开启短信通知");
}
return $response;
}


}

+ 1
- 0
Utils/目录结构目录.txt View File

@@ -0,0 +1 @@
该目录为核心公共函数

Loading…
Cancel
Save