$v) { preg_match('/(?:\{)(.*)(?:\})/i', $v, $match); if (isset($match[1])) { $paramsFix[$k] = $match[1]; $data[$k] = 'Ss' . $k . 'sS'; } else { if (in_array($v, $field)) { $paramsModel[$k] = $v; $data[$k] = 'Ss' . $k . 'sS'; } else { $data[$k] = $v; } } } $url = route($route, $data, $absolute); // 解析js变量 foreach ($paramsFix as $k => $v) { $url = str_replace('Ss' . $k . 'sS', '${' . $v . ' || \'\'}', $url); } foreach ($paramsModel as $k => $v) { $url = str_replace('Ss' . $k . 'sS', '${' . ($model ? $model . '.' : '') . $v . '|| \'\'}', $url); } $url = "`$url`"; return $url; } } if (!function_exists("app_filesize")) { /** * 文件大小转换 * @param $num * @return string */ function app_filesize($num) { $p = 0; $format = 'bytes'; if ($num > 0 && $num < 1024) { $p = 0; return number_format($num) . ' ' . $format; } if ($num >= 1024 && $num < pow(1024, 2)) { $p = 1; $format = 'KB'; } if ($num >= pow(1024, 2) && $num < pow(1024, 3)) { $p = 2; $format = 'MB'; } if ($num >= pow(1024, 3) && $num < pow(1024, 4)) { $p = 3; $format = 'GB'; } if ($num >= pow(1024, 4) && $num < pow(1024, 5)) { $p = 3; $format = 'TB'; } $num /= pow(1024, $p); return number_format($num, 3) . ' ' . $format; } } if(!function_exists('route')){ function route($route,$data,$absolute=true){ //if(isset($data['id'])){ // $route .='/'.$data['id']; // unset($data['id']); //} //$data[0] = $route; //return Yii::$app->urlManager->createUrl($data); $http_build_query = http_build_query($data); return $route.($http_build_query?'?'.$http_build_query:""); } } if (!function_exists('url_class')) { function url_class($url): array { return [ 'class' => Yii::$app->controller->getUniqueId(), 'action' => Yii::$app->controller->action->getUniqueId() ]; } }