php自动跳转函数,PHP跳转函数

/**

* 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");

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值