Yii获取当前url和域名的方法

本文实例讲述了Yii获取当前url和域名的方法。分享给大家供大家参考。具体如下:

假设我们当前页面的访问地址是:http://localhost/CMS/public/index.php?r=news&id=1

一、

1、获取当前域名:

代码如下:

echo Yii::app()->request->hostInfo;

结果:http://localhost

2、获取(除域名外的)当前URL:

代码如下:

echo Yii::app()->request->getUrl();

结果:/CMS/public/index.php?r=news&id=1

3、获取(除域名外的)首页地址:

代码如下:

echo Yii::app()->user->returnUrl;

结果:/CMS/public/index.php

4、获取(除域名外的)根目录地址:

代码如下:

echo Yii::app()->homeUrl;

结果:/CMS/public/index.php

5、

代码如下:

echo Yii::app()->request->baseUrl;

结果:/CMS/public

6、获取网站根目录相对地址:echo Yii::app()->baseUrl;
结果:/CMS/public (注意:如果直接用这种方法指向网站根目录,请最好在其后面添加一个“/”,因为有时如果不添加“/”,有可能不能正确指向网站根目录。应用举例:<a href="<?php echo Yii::app()->baseUrl ;?>/">Home</a> )

二、

7、YII获取 IP地址:

代码如下:

Yii::app()->request->userHostAddress;

8、Yii判断提交方式:

代码如下:

Yii::app()->request-isPostRequest;

9、proteced目录的物理路径:

代码如下:

Yii::app()->basePath;

10、获取上一页的url以返回:

代码如下:

Yii::app()->request->urlReferrer;

11、获取当前控制器ID:

代码如下:

Yii::app()->getController()->getAction()->id;

12、项目路径:

代码如下:

dirname(Yii::app()->BasePath);

13、Yii获取get,post过来的数据:

代码如下:

Yii::app()->request->getParam('id');

三、

14、Yii如何设置时区:
可以在config/main.php里'timeZone'=>'Asia/Chongqing',设定时区

15、防止重复提交:

代码如下:

Ccontroler->refresh();

希望本文所述对大家基于YII框架的php程序设计有所帮助。

(0)

相关推荐

  • Yii操作数据库实现动态获取表名的方法

    本文实例讲述了Yii操作数据库实现动态获取表名的方法.分享给大家供大家参考,具体如下: yii  获取某个库中的表名,而且这个库不确定表的多少,此时没法按照gii去根据表去生成文件,这里有个方法去解决掉. $sqls = "show tables"; $datebase = YII::app()->db_order->createCommand($sqls)->queryAll(); //获取表名 这里$datebase 就是所有的表名,我当前有4个库,一个网站公用这

  • Yii中CGridView禁止列排序的设置方法

    本文实例讲述了Yii中CGridView禁止列排序的设置方法.分享给大家供大家参考,具体如下: Yii中CGridView的功能是用来显示的数据列表.它支持排序,分页,和AJAX数据请求. 下面的代码演示了CGridView禁止列排序的设置方法: 'columns' => array ( array ( 'class' => 'CCheckBoxColumn', 'selectableRows' => '2', 'value' => '$data->id', 'id' =&g

  • Yii2.0预定义的别名功能小结

    本文实例讲述了Yii2.0预定义别名.分享给大家供大家参考,具体如下: 这里总结一下,默认预定义别名一共有12个,其中路径别名11个,URL别名只有 @web 1个: @yii 表示Yii框架所在的目录,也是 yii\BaseYii 类文件所在的位置; @app 表示正在运行的应用的根目录,一般是 digpage.com/frontend ; @vendor 表示Composer第三方库所在目录,一般是 @app/vendor 或 @app/../vendor ; @bower 表示Bower第

  • Yii2主题(Theme)用法详解

    本文实例讲述了Yii2主题(Theme)用法.分享给大家供大家参考,具体如下: 首先看看主要的配置方式: 'components' => [ 'view' => [ 'theme' => [ 'pathMap' => ['@app/views' => '@app/themes/basic'], 'baseUrl' => '@web/themes/basic', ], ], ], Yii中的主题功能主要由yii\base\Theme类来实现,它的主要思想是:先定义好一个一

  • Yii入门教程之目录结构、入口文件及路由设置

    项目名称从"FantaCMS"修改成为"testyii"------ 俗! 1,项目目录结构分析 2,Yii入口文件分析 在Yii启动项目时,传递了项目主配置文件数组,那么Yii会在整个应用中绑定一个全局的Yii对象并且可以通过如下方法来调用该对象:Yii::app() Yii系统把配置文件中的数组值,通过键值对的形式绑定到了该对象上,例如在配置文件中我们配置了: 'name'=>'My Web Application', 那么我们在项目的任何一个地方通过该对

  • Yii2中YiiBase自动加载类、引用文件方法分析(autoload)

    本文实例分析了Yii2中YiiBase自动加载类.引用文件的方法.分享给大家供大家参考,具体如下: 在Yii2中这个函数是用来加载类的,没有直接引用文件的相关实现.但是这个也可以用来引用文件. public static function autoload($className) { /* * $classMap是一个name-value数组, * name为类的名称, * value为这个类的文件路径,其中路径可包含别名 * * 首先在$classMap中查找是否设置了类别名路径 */ if

  • Yii2创建表单(ActiveForm)方法详解

    本文实例讲述了Yii2创建表单(ActiveForm)的方法.分享给大家供大家参考,具体如下: 由于表单涉及到一些验证方面的信息,属性设置又比较多.比较复杂,所以哪里有什么不正确的地方请留言指点 目录 表单的生成 表单中的方法   ActiveForm::begin()方法   ActiveForm::end()方法   getClientOptions()方法   其它方法:errorSummary.validate.validateMultiple 表单中的参数   表单form自身的属性

  • Yii2中设置与获取别名的函数(setAlias和getAlias)用法分析

    本文实例讲述了Yii2中设置与获取别名的函数(setAlias和getAlias)用法.分享给大家供大家参考,具体如下: 首先说说什么是别名. 在Yii中有很多的路径,在开发的过程当前我们也会使用一些路径.一般来说都需要使用绝对路径,但绝对路径都很长. 所以,为了方便的使用路径,可以在Yi中i给每个路径起个名称,这个名称就是别名. 别名的格式: 别名必须以"@"字符开头,别名中还可以包含"/".如("@www"为根别名,"@www/te

  • Yii Framework框架获取分类下面的所有子类方法

    获取分类下面的所有子类方法: static function getMenuTree($arrCat, $parent_id = 0, $level = 0,$all=True) { static $arrTree; //使用static代替global if(!$all) $arrTree =''; if( empty($arrCat)) return FALSE; $level++; if($level == 1) $arrTree[] = $parent_id; foreach($arrC

  • Yii框架获取当前controlle和action对应id的方法

    本文实例讲述了Yii框架获取当前controlle和action对应id的方法.分享给大家供大家参考.具体方法如下: 在Yiii框架开发中,你可能会要获取当前controlle或action的id,其实很简单,一句代码就实现了,以下是分别在controlle(控制器)和View(视图)中获取当前id的代码. 在控制器里: 复制代码 代码如下: $name = $this->getId();  // controller $name = $action->id;  // action 在视图里:

  • Yii2创建控制器(createController)方法详解

    本文实例讲述了Yii2创建控制器(createController)方法.分享给大家供大家参考,具体如下: yii中创建控制器的是在application中的request通过UrlManager解析得出路由信息的,然后再由yii\base\Module中的 public function runAction($route, $params = []) 方法来创建控制器,最后由控制器再执行相应的动作. 首先得明确,Yii中的路由分三种情况: 第一种是带有模块的(module id/control

随机推荐