function.php 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. <?php
  2. function appExec($module, $class, $action)
  3. {
  4. S('MODULE', $module);
  5. S("CONTROLLER", $class);
  6. S("ACTION", $action);
  7. S('URL_PATH', "/{$module}/{$class}/{$action}");
  8. $ctrl = \App::make("\\App\\Http\\Controllers\\" . ucfirst($module) . "\\" . ucfirst($class) . "Controller");
  9. return \App::call([$ctrl, $action]);
  10. }
  11. function toJson($status, $msg = '', $data = '')
  12. {
  13. $return = array(); //返回数组
  14. //组装状态码和返回数据
  15. if ($status < 0) {
  16. $return['status'] = $status;
  17. $return['data'] = $data;
  18. } else {
  19. if (!is_numeric($status)) {
  20. $return['data'] = $status;
  21. $return['status'] = 1;
  22. } else {
  23. $return['status'] = $status;
  24. $return['data'] = $data;
  25. }
  26. }
  27. if(empty($return['data'])){
  28. $return['data']=[];
  29. }
  30. //组装返回信息
  31. if (empty($msg)) {
  32. $return['msg'] = trans('error.' . $return['status']);
  33. } else {
  34. $return['msg'] = $msg;
  35. }
  36. //返回json数据
  37. return response()->json($return);
  38. }
  39. function getOrderId($prefix = '')
  40. {
  41. $num = mt_rand(100, 999);
  42. list($s, $m) = explode(' ', microtime());
  43. $order = date("YmdHis") . ($s * 1000000) . $num;
  44. return $prefix . $order;
  45. }
  46. //identity生产
  47. function getUUID()
  48. {
  49. $prefix = '';
  50. $uuid = '';
  51. $str = md5(uniqid(mt_rand(), true));
  52. $uuid = substr($str, 0, 8) . '-';
  53. $uuid .= substr($str, 8, 4) . '-';
  54. $uuid .= substr($str, 12, 4) . '-';
  55. $uuid .= substr($str, 16, 4) . '-';
  56. $uuid .= substr($str, 20, 12);
  57. return $prefix . $uuid;
  58. }
  59. function S($key, $value = '')
  60. {
  61. if (!isset($GLOBALS[$key]) && empty($value)) {
  62. return -1;
  63. }
  64. if (isset($GLOBALS[$key]) && empty($value)) {
  65. return $GLOBALS[$key];
  66. }
  67. return $GLOBALS[$key] = $value;
  68. }
  69. /**
  70. *密码加密码
  71. */
  72. function randcode($num=6)
  73. {
  74. srand((double) microtime() * 1000000); //create a random number feed.
  75. $ychar = "0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z";
  76. $list = explode(",", $ychar);
  77. $authnum = "";
  78. for ($i = 0; $i < $num; $i++) {
  79. $randnum = rand(0, 61); // 10+26;
  80. $authnum .= $list[$randnum];
  81. }
  82. return $authnum;
  83. }
  84. function createPasswd($passwd,$solt){
  85. return md5(md5($solt.$passwd));
  86. }
  87. /**
  88. * 获取客户端真实IP
  89. */
  90. function GETIP() {
  91. global $ip;
  92. if (getenv("HTTP_CLIENT_IP")) {
  93. $ip = getenv("HTTP_CLIENT_IP");
  94. } else if (getenv("HTTP_X_FORWARDED_FOR")) {
  95. $ip = getenv("HTTP_X_FORWARDED_FOR");
  96. } else if (getenv("REMOTE_ADDR")) {
  97. $ip = getenv("REMOTE_ADDR");
  98. } else {
  99. $ip = "Unknow";
  100. }
  101. return $ip;
  102. }
  103. //创建目录
  104. function createDir($path){
  105. if (is_dir($path)) { return true ; }
  106. return mkdir($path,0777,true);
  107. }
  108. // 获取当周时间.
  109. function get_week($time, $format = "Y-m-d") {
  110. $week = date('w',$time);
  111. $weekname=array('星期一','星期二','星期三','星期四','星期五','星期六','星期日');
  112. //星期日排到末位
  113. if(empty($week)){
  114. $week=7;
  115. }
  116. for ($i=0;$i<=6;$i++){
  117. $demo[$i]['date'] = date($format,strtotime( '+'. $i+1-$week .' days',$time));
  118. $demo[$i]['week'] = $weekname[$i];
  119. }
  120. return $demo;
  121. }