function.php 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. <?php
  2. //生成随机码
  3. function create_invite_code() {
  4. $code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
  5. $rand = $code[rand(0,25)]
  6. .strtoupper(dechex(date('m')))
  7. .date('d')
  8. .substr(time(),-5)
  9. .substr(microtime(),2,5)
  10. .sprintf('%02d',rand(0,99));
  11. for(
  12. $a = md5( $rand, true ),
  13. $s = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ',
  14. $d = '',
  15. $f = 0;
  16. $f < 6;
  17. $g = ord( $a[ $f ] ),
  18. $d .= $s[ ( $g ^ ord( $a[ $f + 8 ] ) ) - $g & 0x1F ],
  19. $f++
  20. );
  21. return $d;
  22. }
  23. function create_order_number()
  24. {
  25. return date('Ymd') . str_pad(mt_rand(1, 999999), 6, '0', STR_PAD_LEFT);
  26. }
  27. /**
  28. * curl 请求
  29. * @param $url
  30. * @param null $header
  31. * @param null $data
  32. * @return mixed
  33. */
  34. function curlRequest($url, $header = null, $data = null)
  35. {
  36. $ch = curl_init();
  37. curl_setopt($ch, CURLOPT_URL, $url);
  38. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  39. curl_setopt($ch, CURLOPT_ENCODING, 'gzip');
  40. curl_setopt($ch, CURLOPT_HEADER, 1);
  41. curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
  42. curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
  43. if ($data) {
  44. curl_setopt($ch, CURLOPT_POST, 1);
  45. curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
  46. }
  47. if ($header) {
  48. curl_setopt($ch, CURLOPT_HEADER, $header);
  49. }
  50. $ret = curl_exec($ch);
  51. curl_close($ch);
  52. return $ret;
  53. }
  54. /**
  55. * 时间格式化(时间戳)
  56. * @param $ptime
  57. * @return false|string
  58. */
  59. function uc_time_ago($ptime)
  60. {
  61. date_default_timezone_set('PRC');
  62. $etime = time() - $ptime;
  63. switch ($etime) {
  64. case $etime <= 60:
  65. $msg = '刚刚';
  66. break;
  67. case $etime > 60 && $etime <= 60 * 60:
  68. $msg = floor($etime / 60) . ' 分钟前';
  69. break;
  70. case $etime > 60 * 60 && $etime <= 24 * 60 * 60:
  71. $msg = date('Ymd', $ptime) == date('Ymd', time()) ? '今天 ' . date('H:i', $ptime) : '昨天 ' . date('H:i', $ptime);
  72. break;
  73. case $etime > 24 * 60 * 60 && $etime <= 2 * 24 * 60 * 60:
  74. $msg = date('Ymd', $ptime) + 1 == date('Ymd', time()) ? '昨天 ' . date('H:i', $ptime) : '前天 ' . date('H:i', $ptime);
  75. break;
  76. case $etime > 2 * 24 * 60 * 60 && $etime <= 12 * 30 * 24 * 60 * 60:
  77. $msg = date('Y', $ptime) == date('Y', time()) ? date('m-d H:i', $ptime) : date('Y-m-d H:i', $ptime);
  78. break;
  79. default:
  80. $msg = date('Y-m-d H:i', $ptime);
  81. }
  82. return $msg;
  83. }