Heim  >  Artikel  >  php教程  >  记录一个功能比较全的PHP跳转函数

记录一个功能比较全的PHP跳转函数

WBOY
WBOYOriginal
2016-06-13 09:38:221046Durchsuche

PHP 跳转,即重定向浏览器到指定的 URL,是一个很常见的功能。这种功能也有一些细节性的要求,比如等待多少秒以后跳转,用不用JavaScript实现跳转,等等。下面的跳转方法考虑到很多,并参数化,可以用到具体的项目当中。

<?php      
/**      
 * 重定向浏览器到指定的 URL      
 *      
 * @param string $url 要重定向的 url      
 * @param int $delay 等待多少秒以后跳转      
 * @param bool $js 指示是否返回用于跳转的 JavaScript 代码      
 * @param bool $jsWrapped 指示返回 JavaScript 代码时是否使用 <mce:script type="text/javascript"><!-- 
 标签进行包装      
 * @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 .= '  
// --></mce:script>';         
    }         
        
    if ($return) {         
        return $out;         
    }         
        
    echo $out;         
    exit;         
}       
?>
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn