direktori cari
欢迎 目录 快速参考图 基本信息 服务器要求 许可协议 变更记录 关于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 辅助函数
watak

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
Artikel sebelumnya: Artikel seterusnya: