/**
* 2011-06-14
* 跳转函数
*/
function Location($url = null) { //默认为空
$location = null; // 默认为空
if (! $url) { //当连接真时
$url = $_SERVER ['PHP_SELF']; //将获取的/test/index.php?id=1 赋值给$url
// echo $url;
} // ?index/i.php?id=1
elseif (substr ( $url, 0, 1 ) == '?') { //如果http://localhost/?index/i.php?id=1
// 则给?./index/i.php?id=1
$url = $_SERVER ['PHP_SELF'] . $url;
// echo $url;
}
//当
if (substr ( $url, 0, 7 ) === 'http://' or substr ( $url, 0, 8 ) === 'https://') {
//http:// 从0开始数到第7位 //https:// 从0位数到第8位
$location = $url;
} else {
$port = null;
if ($_SERVER ['SERVER_PORT'] == 443) { //当端口为443时 使用https
$protocol = 'https://';
} else {
$protocol = 'http://'; //或许为80端口
$checkPoint = explode ( ":", $_SERVER ['HTTP_HOST'] );
if (count ( $checkPoint ) == 0) {
$port = ':' . $_SERVER ['SERVER_PORT'];
}
}
$dir = dirname ( $_SERVER ['SCRIPT_NAME'] );
if ($dir === "/") { //判断有根目录时
$dir = "";
}
if (substr ( $url, 0, 2 ) === './') {
if ($dir) {
$location = $protocol . $_SERVER ['HTTP_HOST'] . $port . '/' . $dir . '/' . basename ( $url );
} else {
$location = $protocol . $_SERVER ['HTTP_HOST'] . $port . '/' . basename ( $url );
}
} elseif (substr ( $url, 0, 1 ) === "/") {
$location = $protocol . $_SERVER ['HTTP_HOST'] . $port . $url;
} else {
$location = $protocol . $_SERVER ['HTTP_HOST'] . $port . $dir . '/' . $url;
}
}
header ( "Location: $location" );
exit ();
}
//试跳转固定地址http://www.google.com
//Location("http://www.google.com");
//测试跳转固定地址带端口http://www.google.com:80
//Location("http://www.google.com:80");
//https支持测试跳转固定地址https://www.google.com
//Location("https://www.google.com");
//跳转到当前路径下的test.php
//Location("test.php");
//带参数跳转
//Location("stest.php?test=test");