<?
        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页面跳转函数相关推荐

  1. WDA学习笔记(二)通过页面跳转理解WDA开发流程

    在进行开发之前先简单介绍一下WDA的控制器: WDA控制器包括组件控制器.定制控制器.视图控制器和窗口控制器. • 组件控制器 每个 Web Dynpro 组件只有一个组件控制器.该控制器是全局控制 ...

  2. 微信小程序页面跳转、逻辑层模块化

    一.页面的跳转 微信小程序的页面跳转函数方法有两个,另外还有两种模块跳转方式. 函数跳转: 1.wx.navigateTo(OBJECT): wx.navigateTo({url: 'test?id= ...

  3. 微信小程序:页面跳转时传递数据到另一个页面

    一.功能描述 页面跳转时,同时把当前页面的数据传递给跳转的目标页面,并在跳转后的目标页面进行展示 二.功能实现 1. 代码实现 test1页面 // pages/test1/test1.js Page ...

  4. angularjs项目的页面跳转如何实现

    链接:https://www.zhihu.com/question/33565135/answer/696515 Angular页面传参有多种办法,根据不同用例,我举5种最常见的: PS: 在实际项目 ...

  5. 微信小程序系列3——页面跳转详解

    前言   首先,微信页面跳转的是一个页面栈进栈出栈的过程,也可以简单的理解对页面跳转的操作就是一个栈的操作. 微信小程序主要一下两类样式的跳转(JS.WXML控件): JS控制的跳转: navigat ...

  6. php 跳转到指定url_PHP想要实现页面跳转功能具体怎么操作?(函数标签示例)...

    php中文网最新课程 每日17点准时技术干货分享 PHP跳转到指定页面的问题通常都会建设网站需求上看到,比如我们需要从一个页面跳转到另一个页面来实现某个功能或者效果.其实在PHP中进行页面跳转是有多种 ...

  7. 微信小程序--简单页面跳转

    微信小程序--简单页面跳转 例如:点击一个text ,跳转入一个新的页面blueberry.wxml 首先对text 设置监听事件 <view bindtap="toast" ...

  8. 转:ECharts图表组件之简单关系图:如何轻松实现另类站点地图且扩展节点属性实现点击节点页面跳转...

    站点地图不外乎就是罗列一个网站的层次结构,提炼地讲就是一个关系结构图.那么我们如何巧用ECharts图表组件内的简单关系结构图来实现一个站点的地图结构呢?另外如何点击某个节点的时候实现页面跳转呢? 针 ...

  9. uni-app简单应用和页面跳转

    uni-app简单应用和页面跳转 上篇写的HBuilderX 的安装和使用 https://blog.csdn.net/YaoChiZaoFan/article/details/106538651 这 ...

最新文章

  1. Accessing tools within a VB6 program - AE中使用VB调用Geoprocessing
  2. SAP RETAIL 初阶之使用事务代码WRFMATCOPY创建商品主数据
  3. Leetcode 144. 二叉树的前序遍历 解题思路及C++实现
  4. AI:2020年6月22日北京智源大会演讲分享之机器感知专题论坛—14:10-14:50王亮教授《面向复杂视觉任务的视觉认知计算》
  5. dev c++代码自动补全_让代码自动补全的全套流程
  6. 高学历就一定代表着高收入么?数据分析来为你揭晓
  7. 计算机技术培训承诺书,软件职业技术学院学生干部刻苦学习、文明诚信承诺书...
  8. Vitamio不支持特性列表(本文会持续更新 2013-03-13)
  9. GTX1060 Windows7/Windows8/Windows8.1 旧版显卡驱动下载链接
  10. 新版白话空间统计(3):空间分布模式
  11. 即使最平凡的人,也有不妥协的一面
  12. [Android问答] 如何获得手机屏幕分辨率?
  13. day 83 Vue学习三之vue组件
  14. 计算机打表格图,快速填充/微图表/一秒制作打勾方框
  15. MODIS计算NDVI注意事项_江仔91_新浪博客
  16. (三)GNSS定位中的定位系统和误差源
  17. 元数据是什么意思_中国股市:股票分红10转10股派5元,你看懂是什么意思了吗?...
  18. ----老家-----
  19. 使用面向对象思想,实现(人狗大战)小游戏
  20. 游戏开发制作实用音效素材下载 - 分类:动物、环境、打斗、生活、魔法、自然、系统、交通、配音、战争

热门文章

  1. 新手入门之j2me学习方法总结--摘录篇
  2. java学习笔记(十)----String类和StringBuffer类
  3. jq执行2次同样的方法怎么让第一次执行的不触发_他们说,这段代码你能看得懂她的开始,却猜不中她的结尾。...
  4. ad16自动布线设置规则_Cadence的allegro下设置阻抗
  5. C#-获取页面源代码
  6. 【C 语言】文件操作 ( 按照文本行的方式读写文件 | fgets 函数 | fputs 函数 )
  7. 【错误记录】Android Studio 编译报错 ( Invalid Gradle JDK configuration found )
  8. 【Android 安全】DEX 加密 ( Application 替换 | 分析 BroadcastReceiver 组件中调用 getApplication() 获取的 Application )
  9. 02.v-cli快速搭建
  10. 《利用Python》进行数据分析:Numpy基础2 创建数组