[TOC]
1.URL跳转
```
/**
* URL地址跳转
* @param $url 跳转地址
* @param int $time 跳转间隔
* @param string $msg 显示信息
*/
function redirect($url, $time = 0, $msg = '')
{
$url = str_replace(array("\n", "\r"), '', $url);
if (empty($msg))
$msg = "系统将在{$time}秒之后自动跳转到{$url}!";
//没有发送header头之前进行设置
if (!headers_sent()) {
if (0 === $time) {
header('Location: ' . $url);
} else {
header("refresh:{$time};url={$url}");
echo($msg);
}
exit();
} else {
$str = "<meta http-equiv='Refresh' content='{$time};URL={$url}'>";
if ($time != 0)
$str .= $msg;
exit($str);
}
}
```
2. 生成URL完成地址
```
/**
* 拼接URL地址
* @param $url 地址
* @param array $params 参数
* @return string 完整参数地址
*/
function generate_url($url, array $params = [])
{
if(!$params) return $url;
if(strpos($url, '?') === false){
return $url .'?'. http_build_query($params, null, '&');
}
list($path, $query_string) = explode('?', $url, 2);
parse_url($query_string, $query_array);
$params = array_merge($params, $query_array);
return $path .'?'. http_build_query($params, null, '&');
}
```