common.php 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. <?php
  2. declare(strict_types=1);
  3. // 这是系统自动生成的公共文件
  4. if (!function_exists('build_var_json')) {
  5. /**
  6. * 将模板中通过assign的变量转换成json
  7. *
  8. * @return string
  9. */
  10. function build_var_json(array $arr): string
  11. {
  12. $keys = array_keys($arr['vars']);
  13. $r = [];
  14. foreach ($keys as $key) {
  15. if ($key == 'config' || $key == 'auth' || $key == 'upload') {
  16. continue;
  17. }
  18. $r[$key] = $arr[$key];
  19. }
  20. return json_encode($r);
  21. }
  22. }
  23. if (!function_exists('format_bytes')) {
  24. /**
  25. * 将字节转换为可读文本
  26. * @param int $size 大小
  27. * @param string $delimiter 分隔符
  28. * @param int $precision 小数位数
  29. * @return string
  30. */
  31. function format_bytes($size, $delimiter = '', $precision = 2)
  32. {
  33. $units = array('B', 'KB', 'MB', 'GB', 'TB', 'PB');
  34. for ($i = 0; $size >= 1024 && $i < 6; $i++) {
  35. $size /= 1024;
  36. }
  37. return round($size, $precision) . $delimiter . $units[$i];
  38. }
  39. }
  40. if (!function_exists('resp_json')) {
  41. /**
  42. * 返回json
  43. * @param int $code code
  44. * @param string $msg 返回信息
  45. * @param int $data 返回数据
  46. * @return string
  47. */
  48. function resp_json($code, $msg = '', $data = null)
  49. {
  50. return json(['code' => $code, 'msg' => $msg, 'data' => $data]);
  51. }
  52. }
  53. function isEnglish($char)
  54. {
  55. $code = ord($char);
  56. return ($code >= 0x00 && $code <= 0x7F); // ASCII码范围
  57. }
  58. if (!function_exists('startsWithHttp')) {
  59. function startsWithHttp($url)
  60. {
  61. return strpos($url, 'https://') === 0
  62. || strpos($url, 'http://') === 0;
  63. }
  64. }