|
@@ -1,96 +1,100 @@
|
|
|
-<?php
|
|
|
-
|
|
|
- /**
|
|
|
- * 获取服务器当前时间
|
|
|
- * @return string 时间
|
|
|
- */
|
|
|
- function getCurrentTime(){
|
|
|
- return date("Y-m-d H:i:s", time());
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 验证码检查
|
|
|
- * @param string $code 传入验证码
|
|
|
- * @param string $id 验证码id
|
|
|
- * @return boolean
|
|
|
- */
|
|
|
- function checkVerify($code, $id = ""){
|
|
|
- $verify = new \Think\Verify();
|
|
|
- return $verify->check($code, $id);
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 基础分页的相同代码封装,使前台的代码更少
|
|
|
- * @param $m 模型类,引用传递
|
|
|
- * @param $where 查询条件
|
|
|
- * @param int $pageSize 每页查询条数
|
|
|
- * @return \Think\Page
|
|
|
- */
|
|
|
- function getPages($module, $where, $pageSize = 15){
|
|
|
- $m = clone $module; //浅复制一个模型
|
|
|
- $count = $module->where($where)->count(); //连惯操作后会对join等操作进行重置
|
|
|
- $module = $m; //为保持在为定的连惯操作,浅复制一个模型
|
|
|
- $p = new Think\Page($count,$pageSize);
|
|
|
- $p->lastSuffix = false;
|
|
|
- $p->setConfig('header','<span class="rows">共<b>%TOTAL_ROW%</b>条记录 第<b>%NOW_PAGE%</b>页/共<b>%TOTAL_PAGE%</b>页</span>');
|
|
|
- $p->setConfig('prev','上一页');
|
|
|
- $p->setConfig('next','下一页');
|
|
|
- $p->setConfig('last','末页');
|
|
|
- $p->setConfig('first','首页');
|
|
|
- $p->setConfig('theme','%FIRST% %UP_PAGE% %LINK_PAGE% %DOWN_PAGE% %END% %HEADER%');
|
|
|
-
|
|
|
- $p->parameter=I('get.');
|
|
|
-
|
|
|
- $m->limit($p->firstRow,$p->listRows);
|
|
|
-
|
|
|
- return $p;
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 发送HTTP请求方法
|
|
|
- * @param string $url 请求URL
|
|
|
- * @param array $params 请求参数
|
|
|
- * @param string $method 请求方法GET/POST
|
|
|
- * @return array $data 响应数据
|
|
|
- */
|
|
|
- function http($url, $params, $method = 'GET', $header = array(), $multi = false){
|
|
|
- $opts = array(
|
|
|
- CURLOPT_TIMEOUT => 30,
|
|
|
- CURLOPT_RETURNTRANSFER => 1,
|
|
|
- CURLOPT_SSL_VERIFYPEER => false,
|
|
|
- CURLOPT_SSL_VERIFYHOST => false,
|
|
|
- CURLOPT_HTTPHEADER => $header
|
|
|
- );
|
|
|
- /* 根据请求类型设置特定参数 */
|
|
|
- switch(strtoupper($method)){
|
|
|
- case 'GET':
|
|
|
- $opts[CURLOPT_URL] = $url . '?' . http_build_query($params);
|
|
|
- break;
|
|
|
- case 'POST':
|
|
|
- //判断是否传输文件
|
|
|
- $params = $multi ? $params : http_build_query($params);
|
|
|
- $opts[CURLOPT_URL] = $url;
|
|
|
- $opts[CURLOPT_POST] = 1;
|
|
|
- $opts[CURLOPT_POSTFIELDS] = $params;
|
|
|
- break;
|
|
|
- default:
|
|
|
- throw new Exception('不支持的请求方式!');
|
|
|
- }
|
|
|
- /* 初始化并执行curl请求 */
|
|
|
- $ch = curl_init();
|
|
|
- curl_setopt_array($ch, $opts);
|
|
|
- $data = curl_exec($ch);
|
|
|
- $error = curl_error($ch);
|
|
|
- curl_close($ch);
|
|
|
- if($error) throw new Exception('请求发生错误:' . $error);
|
|
|
- return $data;
|
|
|
- }
|
|
|
-
|
|
|
- function decode(){
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- function getId(){
|
|
|
- return 0;
|
|
|
- }
|
|
|
-
|
|
|
+<?php
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 获取服务器当前时间
|
|
|
+ * @return string 时间
|
|
|
+ */
|
|
|
+ function getCurrentTime(){
|
|
|
+ return date("Y-m-d H:i:s", time());
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 验证码检查
|
|
|
+ * @param string $code 传入验证码
|
|
|
+ * @param string $id 验证码id
|
|
|
+ * @return boolean
|
|
|
+ */
|
|
|
+ function checkVerify($code, $id = ""){
|
|
|
+ $verify = new \Think\Verify();
|
|
|
+ return $verify->check($code, $id);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 基础分页的相同代码封装,使前台的代码更少
|
|
|
+ * @param $m 模型类,引用传递
|
|
|
+ * @param $where 查询条件
|
|
|
+ * @param int $pageSize 每页查询条数
|
|
|
+ * @return \Think\Page
|
|
|
+ */
|
|
|
+ function getPages($module, $where, $pageSize = 15){
|
|
|
+ $m = clone $module; //浅复制一个模型
|
|
|
+ $count = $module->where($where)->count(); //连惯操作后会对join等操作进行重置
|
|
|
+ $module = $m; //为保持在为定的连惯操作,浅复制一个模型
|
|
|
+ $p = new Think\Page($count,$pageSize);
|
|
|
+ $p->lastSuffix = false;
|
|
|
+ $p->setConfig('header','<span class="rows">共<b>%TOTAL_ROW%</b>条记录 第<b>%NOW_PAGE%</b>页/共<b>%TOTAL_PAGE%</b>页</span>');
|
|
|
+ $p->setConfig('prev','上一页');
|
|
|
+ $p->setConfig('next','下一页');
|
|
|
+ $p->setConfig('last','末页');
|
|
|
+ $p->setConfig('first','首页');
|
|
|
+ $p->setConfig('theme','%FIRST% %UP_PAGE% %LINK_PAGE% %DOWN_PAGE% %END% %HEADER%');
|
|
|
+
|
|
|
+ $p->parameter=I('get.');
|
|
|
+
|
|
|
+ $m->limit($p->firstRow,$p->listRows);
|
|
|
+
|
|
|
+ return $p;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 发送HTTP请求方法
|
|
|
+ * @param string $url 请求URL
|
|
|
+ * @param array $params 请求参数
|
|
|
+ * @param string $method 请求方法GET/POST
|
|
|
+ * @return array $data 响应数据
|
|
|
+ */
|
|
|
+ function http($url, $params, $method = 'GET', $header = array(), $multi = false){
|
|
|
+ $opts = array(
|
|
|
+ CURLOPT_TIMEOUT => 30,
|
|
|
+ CURLOPT_RETURNTRANSFER => 1,
|
|
|
+ CURLOPT_SSL_VERIFYPEER => false,
|
|
|
+ CURLOPT_SSL_VERIFYHOST => false,
|
|
|
+ CURLOPT_HTTPHEADER => $header
|
|
|
+ );
|
|
|
+ /* 根据请求类型设置特定参数 */
|
|
|
+ switch(strtoupper($method)){
|
|
|
+ case 'GET':
|
|
|
+ $opts[CURLOPT_URL] = $url . '?' . http_build_query($params);
|
|
|
+ break;
|
|
|
+ case 'POST':
|
|
|
+ //判断是否传输文件
|
|
|
+ $params = $multi ? $params : http_build_query($params);
|
|
|
+ $opts[CURLOPT_URL] = $url;
|
|
|
+ $opts[CURLOPT_POST] = 1;
|
|
|
+ $opts[CURLOPT_POSTFIELDS] = $params;
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ throw new Exception('不支持的请求方式!');
|
|
|
+ }
|
|
|
+ /* 初始化并执行curl请求 */
|
|
|
+ $ch = curl_init();
|
|
|
+ curl_setopt_array($ch, $opts);
|
|
|
+ $data = curl_exec($ch);
|
|
|
+ $error = curl_error($ch);
|
|
|
+ curl_close($ch);
|
|
|
+ if($error) throw new Exception('请求发生错误:' . $error);
|
|
|
+ return $data;
|
|
|
+ }
|
|
|
+
|
|
|
+ function decode(){
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 生成唯一id(时间戳+随机数)
|
|
|
+ * @return int
|
|
|
+ */
|
|
|
+ function getId(){
|
|
|
+ return date('y').date('m').date('d').substr(time(),-5).substr(microtime(),2,5).sprintf('%03d',rand(0,999));
|
|
|
+ }
|
|
|
+
|