您当前位于: 首页 » web前端编程, 我爱PHP » 一段功能齐全的PHP常用重定向代码html+js+header

一段功能齐全的PHP常用重定向代码html+js+header11/27/2007

从fleaPHP中看到的,顺便就把他拿出来了,非常非常的实用!因为在PHP中重定向除非你不写程序,不然都得用。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
 
/**
 * 重定向浏览器到指定的 URL
 *
 * @param string $url 要重定向的 url
 * @param int $delay 等待多少秒以后跳转
 * @param bool $js 指示是否返回用于跳转的 JavaScript 代码
 * @param bool $jsWrapped 指示返回 JavaScript 代码时是否使用 <script> 标签进行包装
 * @param bool $return 指示是否返回生成的 JavaScript 代码
 */
function redirect($url, $delay = 0, $js = false, $jsWrapped = true, $return = false)
{
    $delay = (int)$delay;
    if (!$js) {
        if (headers_sent() && $delay > 0) {
            echo <<<EOT
    <html>
    <head>
    <meta http-equiv="refresh" content="{$delay};URL={$url}" />
    </head>
    </html>
EOT;
            exit;
        } else {
            header("Location: {$url}");
            exit;
        }
    }
 
    $out = '';
    if ($jsWrapped) {
        $out .= '<script language="JavaScript" type="text/javascript">';
    }
    $url = rawurlencode($url);
    if ($delay > 0) {
        $out .= "window.setTimeOut(function () { document.location='{$url}'; }, {$delay});";
    } else {
        $out .= "document.location='{$url}';";
    }
    if ($jsWrapped) {
        $out .= '</script>';
    }
 
    if ($return) {
        return $out;
    }
 
    echo $out;
    exit;
}

什么时候能达雷哥的水平撒,看了部分的fleaPHP源码以后,一下就觉得自己太井蛙了(注意,不是青蛙 ^_^)。

| 3条评论 标签:  

3条评论
  1. MoHock说道:

    grin
    我的做法,一般都是JS。

  2. 麦鸡说道:

    不错啊

  3. […] 一段功能齐全的PHP常用重定向代码html+js+header (2) […]

发表评论