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