common.php 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | ThinkPHP [ WE CAN DO IT JUST THINK ]
  4. // +----------------------------------------------------------------------
  5. // | Copyright (c) 2006-2016 http://thinkphp.cn All rights reserved.
  6. // +----------------------------------------------------------------------
  7. // | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
  8. // +----------------------------------------------------------------------
  9. // | Author: 流年 <liu21st@gmail.com>
  10. // +----------------------------------------------------------------------
  11. // 应用公共文件
  12. /*app用
  13. * 20210927
  14. * wj
  15. */
  16. function backjson2($code, $msg = "", $data = [], $type = 320)
  17. {
  18. $jsonData = [
  19. 'code' => $code,
  20. 'msg' => $msg,
  21. 'data' => $data,
  22. ];
  23. return json_encode($jsonData, $type);
  24. }
  25. /* 内部使用
  26. * 20210927
  27. * wj
  28. */
  29. function backarr($status, $msg = "", $data = [])
  30. {
  31. $backData = [
  32. 'status' => $status,
  33. 'msg' => $msg,
  34. 'data' => $data,
  35. ];
  36. return $backData;
  37. }
  38. /**
  39. * 获取星期几
  40. *
  41. * @param string $day
  42. * @param integer $type
  43. * @return void
  44. * @author wj
  45. * @date 2022-12-02
  46. */
  47. function getweek($day = '', $type = 1)
  48. {
  49. $weekarr = [7, 1, 2, 3, 4, 5, 6];
  50. if (empty($day)) {
  51. $day = time();
  52. } else {
  53. switch ($type) {
  54. case 1:
  55. $day = strtotime($day);
  56. break;
  57. }
  58. }
  59. $date = date('w', $day);
  60. return $weekarr[$date];
  61. }
  62. /**
  63. * 数组转xml
  64. *
  65. * @param [type] $arr
  66. * @param [type] $xml
  67. * @param string $root
  68. * @return void
  69. * @author wj
  70. * @date 2022-12-02
  71. */
  72. function arrtoxml($arr, $xml = null, $root = '')
  73. {
  74. if (empty($xml)) {
  75. header("Content-type:text/xml;Charset=UTF-8");
  76. $xml = new XMLWriter();
  77. $xml->openMemory();
  78. //$xml->startDocument('1.0', 'UTF-8');
  79. if (!empty($root)) {
  80. $xml->startElement($root);
  81. } else {
  82. $xml->setIndent(true);
  83. }
  84. arrtoxml($arr, $xml);
  85. if (!empty($root)) {
  86. $xml->endElement();
  87. }
  88. $xml->endDocument();
  89. return $xml->outputMemory(true);
  90. } else {
  91. if (is_array($arr)) {
  92. foreach ($arr as $key => $value) {
  93. if (is_array($value)) {
  94. $xml->startElement($key);
  95. arrtoxml($value, $xml);
  96. $xml->endElement();
  97. } else {
  98. if (is_numeric($value)) {
  99. $xml->writeElement($key, $value);
  100. } else {
  101. $xml->startElement($key);
  102. $xml->writeCdata($value);
  103. $xml->endElement();
  104. }
  105. }
  106. }
  107. }
  108. }
  109. }
  110. /**
  111. * xml转数组
  112. *
  113. * @return void
  114. * @author wj
  115. * @date 2022-12-02
  116. */
  117. function xmltoarr($xml)
  118. {
  119. $arr = simplexml_load_string($xml, 'SimpleXMLElement', LIBXML_NOCDATA);
  120. $arr = json_decode(json_encode($arr), true);
  121. return $arr;
  122. }
  123. //为cp后台请求验证token
  124. function checkToken()
  125. {
  126. $l_w = new app\admin\logic\webmanger();
  127. $token = request()->server('HTTP_TOKEN');
  128. $param = ['token' => $token];
  129. $result = $l_w->queryinfobytoken($param);
  130. if (1 != $result['status']) {
  131. $str = backjson2(0, '登录失效', $result['data']);
  132. exit($str);
  133. }
  134. return $result['data'];
  135. }
  136. //判断是否是手机号
  137. function isMoblid($tel)
  138. {
  139. if (preg_match("/^1[3-9]{1}\d{9}$/", $tel)) {
  140. return true;
  141. } else {
  142. return false;
  143. }
  144. }
  145. //curl 请假
  146. function curl_request($url, $data = null, $header = [])
  147. {
  148. //$headerArray = array("Content-type:application/json;charset='utf-8'", "Accept:application/json");
  149. $curl = curl_init();
  150. curl_setopt($curl, CURLOPT_URL, $url);
  151. curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
  152. curl_setopt($curl, CURLOPT_TIMEOUT, 30);
  153. curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
  154. curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
  155. curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
  156. if (!empty($data)) {
  157. curl_setopt($curl, CURLOPT_POST, true);
  158. curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
  159. }
  160. $output = curl_exec($curl);
  161. curl_close($curl);
  162. $res = json_decode($output, true);
  163. return $res;
  164. }