简单灵活的 PHP页面跳转函数
生活随笔
收集整理的這篇文章主要介紹了
简单灵活的 PHP页面跳转函数
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
<?
????????function?Location($url?=?null){????????
????????????????$location?=?null;
????????????????if?(?!$url)?{
????????????????????????$url?=??$_SERVER['PHP_SELF'];
????????????????}
????????????????elseif?(?substr($url,0,1)?==?'?'?)?{
????????????????????????$url?=?$_SERVER['PHP_SELF']?.?$url;
????????????????}
????????????????if?(?substr($url,0,7)?===?'http://'?or?substr($url,0,8)?===?'https://'?)?{
????????????????????????$location?=?$url;
????????????????}
????????????????else?{
????????????????????????$port?=?null;
????????????????????????if?(?$_SERVER['SERVER_PORT']?==?443?)?{
????????????????????????????????$protocol?=?'https://';
????????????????????????}????????
????????????????????????else?{
????????????????????????????????$protocol?=?'http://';
????????????????????????????????$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();
????????}
Location('http://www.baidu.com');
????????function?Location($url?=?null){????????
????????????????$location?=?null;
????????????????if?(?!$url)?{
????????????????????????$url?=??$_SERVER['PHP_SELF'];
????????????????}
????????????????elseif?(?substr($url,0,1)?==?'?'?)?{
????????????????????????$url?=?$_SERVER['PHP_SELF']?.?$url;
????????????????}
????????????????if?(?substr($url,0,7)?===?'http://'?or?substr($url,0,8)?===?'https://'?)?{
????????????????????????$location?=?$url;
????????????????}
????????????????else?{
????????????????????????$port?=?null;
????????????????????????if?(?$_SERVER['SERVER_PORT']?==?443?)?{
????????????????????????????????$protocol?=?'https://';
????????????????????????}????????
????????????????????????else?{
????????????????????????????????$protocol?=?'http://';
????????????????????????????????$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();
????????}
?>
//?跳轉到百度首頁?Location('http://www.baidu.com');
?
轉載于:https://www.cnblogs.com/qhorse/p/4589251.html
總結
以上是生活随笔為你收集整理的简单灵活的 PHP页面跳转函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 企业级Java应用最重要的4个性能指标
- 下一篇: 【转】请尊重测试:测试从业五年有感