目录搜索
欢迎目录快速参考图基本信息服务器要求许可协议变更记录关于CodeIgniter安装下载 CodeIgniter安装指导从老版本升级疑难解答介绍开始CodeIgniter 是什么?CodeIgniter 速记表支持特性应用程序流程图模型-视图-控制器架构目标教程内容提要加载静态内容创建新闻条目读取新闻条目结束语常规主题CodeIgniter URL控制器保留字视图模型辅助函数使用 CodeIgniter 类库创建你自己的类库使用 CodeIgniter 适配器创建适配器创建核心系统类钩子 - 扩展框架的核心自动装载资源公共函数URI 路由错误处理缓存调试应用程序以CLI方式运行管理应用程序处理多环境PHP替代语法安全开发规范类库参考基准测试类日历类购物车类配置类Email 类加密类文件上传类表单验证详解FTP 类图像处理类输入类Javascript 类语言类装载类迁移类输出类分页类模板解析器类安全类Session 类HTML 表格类引用通告类排版类单元测试类URI 类User-Agent 类表单验证XML-RPC 和 XML-RPC 服务器Zip 编码类缓存适配器适配器参考适配器数据库类Active Record 类数据库缓存类自定义函数调用数据库配置连接你的数据库数据库快速入门例子代码字段数据数据库维护类查询辅助函数数据库类查询生成查询记录集表数据事务数据库工具类JavaScript类辅助函数参考数组辅助函数CAPTCHA 辅助函数Cookie Helper日期辅助函数目录辅助函数下载辅助函数Email 辅助函数文件辅助函数表单辅助函数HTML辅助函数Inflector 辅助函数语言辅助函数数字辅助函数路径辅助函数安全辅助函数表情辅助函数字符串辅助函数文本辅助函数排版辅助函数URL 辅助函数XML 辅助函数
文字

CodeIgniter 用户指南 版本 2.1.0

编辑文档、查看近期更改请 登录 或 注册  找回密码
查看原文

URL 辅助函数

URL 辅助函数文件包含一些在处理 URL 中很有用的函数

加载辅助函数

本辅助函数通过如下代码加载:

$this->load->helper('url');

可用函数如下:

site_url()

Returns your site URL, as specified in your config file. The index.php file (or whatever you have set as your site index_page in your config file) will be added to the URL, as will any URI segments you pass to the function, and the url_suffix as set in your config file.

无论什么时候需要生成 URL ,都鼓励您使用该函数, 这样当您的根 URL 改变的时候更具有可移植性。[注:根 URL 指 config.php 中指定的 base_url 和 index_page--IT不倒翁]

做为参数传递给该函数的 URI 段可以是一个字符串,也可以是一个数组. 下面是一个字符串的例子:

echo site_url("news/local/123");

上面的例子将返回: http://example.com/index.php/news/local/123

注意:如果config中开启了enable_query_strings,则连接符由/改为?,上面的url会返回这样:

http://example.com/index.php?news/local/123

所以这里要注意,如果你开启了get传值的话,请注意这里的变化。

这是一个以数组形式传递 URI 段的例子:

$segments = array('news', 'local', '123');

echo site_url($segments);

base_url()

返回在 config.php 中设定的 base_url. 例:

echo base_url();

This function returns the same thing as site_url, without the index_page or url_suffix being appended.

这个函数的返回值是在site_url()函数的返回值后面追加index_pageurl_suffix [注:指 config.php 中指定的 base_url 和 index_page].

Also like site_url, you can supply segments as a string or an array. Here is a string example:

和site_url函数一样, 做为参数传递给该函数的 URI 段可以是一个字符串,也可以是一个数组. 下面是一个字符串的例子:

echo base_url("blog/post/123");

上面的例子将返回: http://example.com/blog/post/123

This is useful because unlike site_url(), you can supply a string to a file, such as an image or stylesheet. For example:

echo base_url("images/icons/edit.png");

This would give you something like: http://example.com/images/icons/edit.png

current_url()

返回当前正在查看的页面的完整URL(包括段)。

uri_string()

返回任何包含了此函数的页面的URI段。比如说,要是你的URL是这样的:

http://some-site.com/blog/comments/123

此函数将会返回:

/blog/comments/123

注:我测试的结果:

blog/comments/123

index_page()

返回在 config.php 中设定的 index_page. 例:

echo index_page();

anchor()

创建基于你的本地站点URL(如 www.your-site.com )的标准锚链接:【注:我理解为 config.php 文件中设定的根路径--IT不倒翁】

Click Here

它有三个可选参数:

anchor(uri segments, text, attributes)

第一个参数包含你想附加到URL的任何段.像上面的site_url() 函数一样,段可以是字符串或数组.

注意:  如果你创建在应用程序内部的链接没有包含基本URL(http://...),这个参数会从你配置文件信息中自动加载。只需要写上你的 URL 分段即可。

第二个参数是你想给链接的名字.如果让它为空,将会由URL(替代).

第三个参数包含一组你想附加给链接的属性.这些属性可以是简单的字符串或相关的数组.

这里有一些例子:

echo anchor('news/local/123', 'My News', 'title="News title"');

输出(链接名字'My News'): <a href="http://example.com/index.php/news/local/123" title="News title">My News</a>

echo anchor('news/local/123', 'My News', array('title' => 'The best news!'));

输出(鼠标放在上面会有'The best news!'提示): My News

anchor_popup()

几乎和anchor() 函数相同,区别是它会在新窗口打开链接. 你可以在第三个参数中指定JavaScript窗口属性来控制窗口的打开方式. 如果第三个参数没有设置,它会直接根据你的浏览器设置打开新窗口.这是一个属性设置的例子:

$atts = array(
              'width'      => '800',
              'height'     => '600',
              'scrollbars' => 'yes',
              'status'     => 'yes',
              'resizable'  => 'yes',
              'screenx'    => '0',
              'screeny'    => '0'
            );

echo anchor_popup('news/local/123', 'Click Me!', $atts);

注意: 以上是函数默认设置,你只要根据自己需要设置不同.如果你想函数使用默认设置,直接传一个空数组给第三个参数就行了:

echo anchor_popup('news/local/123', 'Click Me!', array());

mailto()

创建标准HTML电子邮件链接.习惯用例:

echo mailto('me@my-site.com', 'Click Here to Contact Me');

像上面的anchor() 一样, 你可以用第三个参数设置属性.

safe_mailto()

用法和上面的函数相同,区别是它用JavaScript写了基于顺序号码的不易识别的mailto版本标签,可以阻止email地址被垃圾邮件截获.

auto_link()

自动把包含URL和email地址的字串转换成链接. 例如:

$string = auto_link($string);

第二个参数决定URL和email是否都转换或其中一个转换.如果参数没有指定默认是两个都转换.Email links are encoded as safe_mailto() as shown above.

只转换URL:

$string = auto_link($string, 'url');

只转换Email地址:

$string = auto_link($string, 'email');

第三个参数决定链接是否都在新窗口打开.参数值可以是TRUE 或 FALSE(boolean):

$string = auto_link($string, 'both', TRUE);

url_title()

输入一个字符串并且创建用户友好的URL字串.举个例子,你有一个blog,而且你想在URL中使用条目的标题,这个函数就有用了.例如:

$title = "What's wrong with CSS?";

$url_title = url_title($title);

// 输出: Whats-wrong-with-CSS

第二个参数指定单词之间的分隔符. 默认使用破折号'-'. 选项有: dash 即'-', 或者 underscore 即'_':

$title = "What's wrong with CSS?";

$url_title = url_title($title, 'underscore');

// 输出: Whats_wrong_with_CSS

第3个参数决定了是否强制转换为小写.默认情况下不会.参数类型为布尔值 TRUE/FALSE:

$title = "What's wrong with CSS?";

$url_title = url_title($title, 'underscore', TRUE);

// Produces: whats_wrong_with_css

prep_url()

在URL中没有http://的情况下,这个函数可以附加上.像这样把URL字串传递给函数:

$url = "example.com";

$url = prep_url($url);

redirect()

通过发送HTTP头,命令客户端转向到您指定的URL。您既可以指定一个完整的URL,也可以对于站内内容,指定基于网站根目录的相对URL。本函数会自动根据您的配置文件,构造出完整的URL。

你可以设定第二个参数为 location 定位操作(默认)或者 refresh 刷新操作。定位操作比刷新操作执行速度快,但是在Windows服务器上有时会报错。可选的第3个参数允许你发送一个特定的HTTP请求返回码 - 举例来说这可以用来创建303请求重定向来服务于搜索引擎. 默认的请求返回码是302(临时重定向). 第3个参数使用于'location'重定向, 而不是用于'refresh'. 范例:

if ($logged_in == FALSE)
{
     redirect('/login/form/', 'refresh');
}

// with 301 redirect
redirect('/article/13', 'location', 301);

注意:由于此函数需要处理header头文件,因此它必须在向客户端输出任何内容之前调用。
注意:如果您想对HTTP头做更细致的设置,您可以使用输出类的 set_header() 函数。

 

翻译贡献者: Deloz, Hex, IT不倒翁, kkorange, linfj, LSvKing, mynameisjian, nardo, shamiao, tinsn, yeto, yinzhili, 杜建宇
最后修改: 2012-03-17 01:53:52
上一篇:下一篇: