123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296 |
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="utf-8" lang="utf-8">
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=0" />
- <title>URL 辅助函数 - CodeIgniter 中文手册|用户手册|用户指南|Wiki文档</title>
- <link rel="shortcut icon" href="http://codeigniter.org.cn/user_guide/../images/design/favicon.ico" type="image/x-icon" />
- <link rel="stylesheet" type="text/css" media="all" href="../userguide.css" />
- <link rel="search" href="http://codeigniter.org.cn/user_guide/../CodeIgniterSearch.xml" type="application/opensearchdescription+xml" title="CodeIgniter 搜索"/>
- <link rel="canonical" href="http://codeigniter.org.cn/user_guide/helpers/url_helper.html" />
- <script type="text/javascript" src="../nav/mootools.js-ver=20130324.js"></script>
- <script type="text/javascript" src="../nav/mootools-more.js-ver=20130324.js"></script>
- <script type="text/javascript" src="../nav/nav.js-ver=20130324.js"></script>
- <script type="text/javascript" src="../nav/user_guide_menu.js-ver=20130324.js"></script>
- <meta name="robots" content="all" />
- <meta name="author" content="ExpressionEngine Dev Team" />
- <meta name="description" content="CodeIgniter 中文手册, CodeIgniter 用户指南, CodeIgniter User Guide, Wiki 文档" />
- </head>
- <body>
- <!-- START NAVIGATION -->
- <div id="nav">
- <div id="nav_inner">
- <script type="text/javascript">create_menu('../');</script>
- </div>
- </div>
- <script type="text/javascript">_setNavigation();</script>
- <div id="nav2"><a name="top"></a><a href="javascript:void(0);" onclick="myHeight.toggle();"><img src="../images/nav_toggle_darker.jpg" width="154" height="43" border="0" title="切换目录" alt="切换目录" /></a></div>
- <div id="masthead" class="clearfix">
- <div class="topbar-hd"><h1>CodeIgniter 用户指南 版本 2.2.0</h1></div>
- <div class="topbar-tip">编辑文档、查看近期更改请 <a href="#">登录</a> 或 <a href="#">注册</a> <a href="#">找回密码</a></div> <div id="breadcrumb_right"><a href="../toc.html">目录页</a></div>
- </div>
- <!-- END NAVIGATION -->
- <!-- START BREADCRUMB -->
- <table cellpadding="0" cellspacing="0" border="0" style="width:100%">
- <tr>
- <td id="breadcrumb">
- <a href="#" target="_blank">CodeIgniter 中国首页</a> ›
- <a href="../index.html">用户指南首页</a> › URL 辅助函数 </td>
- <td id="searchbox">
- <form method="get" action="http://www.google.com.hk/search" target="google_window">
- <input type="hidden" name="client" value="pub-0176846097796333"></input>
- <input type="hidden" name="forid" value="1"></input>
- <input type="hidden" name="ie" value="UTF-8"></input>
- <input type="hidden" name="oe" value="UTF-8"></input>
- <input type="hidden" name="as_sitesearch" id="as_sitesearch" value="codeigniter.org.cn/user_guide/" />
- 搜索用户指南
- <input type="text" class="input" style="width:200px;" name="q" id="q" size="31" maxlength="255" value="" />
-
- <input type="submit" class="submit" name="sa" value="Go" />
- </form>
- </td>
- </tr>
- </table>
- <!-- END BREADCRUMB -->
- <div style="clear:both;text-align:right;padding: 6px 40px 0 0;">
- <a href="#" target="_blank">查看原文</a>
- </div>
- <!--<br clear="all" />--><!-- START CONTENT -->
- <div id="content">
- <h1>URL 辅助函数</h1>
- <p>URL 辅助函数文件包含一些在处理 URL 中很有用的函数</p>
- <h2>加载辅助函数</h2>
- <p>本辅助函数通过如下代码加载:</p>
- <code>$this->load->helper('url');</code>
- <p>可用函数如下:</p>
- <h2>site_url()</h2>
- <p>返回站点的URL, 如果在<dfn>config.php</dfn> 文件中指定了<dfn>base_url</dfn>会返回指定的值,否则自动获取。 当你将URI段作为参数传给这个函数时,index.php 文件名 (或者是你在config中自定义的 <dfn>index_page</dfn> 文件名) 会被加到URL后面, 而且会加上你在config中定义的 <dfn>url_suffix</dfn> 后缀。</p>
- <p>无论什么时候需要生成 URL ,都鼓励您使用该函数, 这样当您的根 URL 改变的时候更具有可移植性。[注:根 URL 指 config.php 中指定的 base_url 和 <dfn>index_page</dfn>--IT不倒翁]</p>
- <p>做为参数传递给该函数的 URI 段可以是一个字符串,也可以是一个数组. 下面是一个字符串的例子:</p>
- <code>echo site_url("news/local/123");</code>
- <p>上面的例子将返回: http://example.com/index.php/news/local/123</p>
- <p><kbd>注意:</kbd>如果config中开启了<kbd>enable_query_strings</kbd>,则连接符由/改为?,上面的url会返回这样:</p>
- <p>http://example.com/index.php<kbd>?</kbd>news/local/123</p>
- <p>所以这里要注意,如果你开启了get传值的话,请注意这里的变化。</p>
- <p>这是一个以数组形式传递 URI 段的例子:</p>
- <code>
- $segments = array('news', 'local', '123');<br />
- <br />
- echo site_url($segments);</code>
- <h2>base_url()</h2>
- <p>返回在 config.php 中设定的 base_url. 例:</p>
- <code>echo base_url();</code>
- <p>这个函数和site_url返回相同,只是 <dfn>index_page</dfn> 和 <dfn>url_suffix</dfn> 不再被追加。</p>
- <p>和site_url函数一样, 做为参数传递给该函数的 URI 段可以是一个字符串,也可以是一个数组. 下面是一个字符串的例子:</p>
- <code>echo base_url("blog/post/123");</code>
- <p>上面的例子将返回: http://example.com/blog/post/123</p>
- <p>这个函数非常有用,不像site_url()那样,你可以用它指定文件的路径,像是image路径或者css路径,例如: </p>
- <code>echo base_url("images/icons/edit.png");</code>
- <p>上面的例子将输出像这样的结果: http://example.com/images/icons/edit.png</p>
- <h2>current_url()</h2>
- <p>返回当前正在查看的页面的完整URL(包括段)。</p>
- <h2>uri_string()</h2>
- <p>返回任何包含了此函数的页面的URI段。比如说,要是你的URL是这样的:</p>
- <code>http://some-site.com/blog/comments/123</code>
- <p>此函数将会返回:</p>
- <code>/blog/comments/123</code>
- <p>注:我测试的结果:</p>
- <code>blog/comments/123</code>
- <h2>index_page()</h2>
- <p>返回在 config.php 中设定的 index_page. 例:</p>
- <code>echo index_page();</code>
- <h2>anchor()</h2>
- <p>创建基于你的本地站点URL的标准链接地址:【原翻译为锚链接,不妥。该函数实际上是用来快速生成<a>标签链接用的-zehee】</p>
- <code><a href="http://example.com">Click Here</a> //echo anchor('','Click Here','');</code>
- <p>它有三个可选参数:</p>
- <code>anchor(<var>uri segments</var>, <var>text</var>, <var>attributes</var>)</code>
- <p>第一个参数包含你想附加到URL的任何段.像上面的<dfn>site_url()</dfn> 函数一样,段可以是字符串或数组.</p>
- <p><strong>注意:</strong> 如果你创建在应用程序内部的链接没有包含基本URL(http://...),这个参数会从你配置文件信息中自动加载。只需要写上你的 URL 分段即可。</p>
- <p>第二个参数是你想给链接的内容(<a>标签中间的内容).如果让它为空,将会由URL替代.</p>
- <p>第三个参数包含一组你想附加给链接的属性.这些属性可以是简单的字符串或相关的数组.</p>
- <p>这里有一些例子:</p>
- <code>echo anchor('news/local/123', 'My News', 'title="News title"');</code>
- <p>输出(链接名字'My News'): <a href="http://example.com/index.php/news/local/123" title="News title">My News</a></p>
- <code>echo anchor('news/local/123', 'My News', array('title' => 'The best news!'));</code>
- <p>输出(鼠标放在上面会有'The best news!'提示): <a href="#" title="The best news!">My News</a></p>
- <h2>anchor_popup()</h2>
- <p>几乎和<dfn>anchor()</dfn> 函数相同,区别是它会在新窗口打开链接.
- 你可以在第三个参数中指定JavaScript窗口属性来控制窗口的打开方式. 如果第三个参数没有设置,它会直接根据你的浏览器设置打开新窗口.这是一个属性设置的例子:</p>
- <code>
- $atts = array(<br />
- 'width' => '800',<br />
- 'height' => '600',<br />
- 'scrollbars' => 'yes',<br />
- 'status' => 'yes',<br />
- 'resizable' => 'yes',<br />
- 'screenx' => '0',<br />
- 'screeny' => '0'<br />
- );<br />
- <br />
- echo anchor_popup('news/local/123', 'Click Me!', $atts);</code>
- <p>注意: 以上是函数默认设置,你只要根据自己需要设置不同.如果你想函数使用默认设置,直接传一个空数组给第三个参数就行了:</p>
- <code>echo anchor_popup('news/local/123', 'Click Me!', array());</code>
- <h2>mailto()</h2>
- <p>创建标准HTML电子邮件链接.习惯用例:</p>
- <code>echo mailto('me@my-site.com', 'Click Here to Contact Me');</code>
- <p>像上面的<dfn>anchor()</dfn> 一样, 你可以用第三个参数设置属性.</p>
- <h2>safe_mailto()</h2>
- <p>用法和上面的函数相同,区别是它用JavaScript写了基于顺序号码的不易识别的mailto版本标签,可以阻止email地址被垃圾邮件截获.</p>
- <h2>auto_link()</h2>
- <p>自动把包含URL和email地址的字串转换成链接. 例如:</p>
- <code>$string = auto_link($string);</code>
- <p>第二个参数决定URL和email是否都转换或其中一个转换.如果参数没有指定默认是两个都转换.Email links are encoded as safe_mailto() as shown above.</p>
- <p>只转换URL:</p>
- <code>$string = auto_link($string, 'url');</code>
- <p>只转换Email地址:</p>
- <code>$string = auto_link($string, 'email');</code>
- <p>第三个参数决定链接是否都在新窗口打开.参数值可以是TRUE 或 FALSE(boolean):</p>
- <code>$string = auto_link($string, 'both', TRUE);</code>
- <h2>url_title()</h2>
- <p>输入一个字符串并且创建用户友好的URL字串.举个例子,你有一个blog,而且你想在URL中使用条目的标题,这个函数就有用了.例如: </p>
- <code>$title = "What's wrong with CSS?";<br />
- <br />
- $url_title = url_title($title);<br />
- <br />
- // 输出: Whats-wrong-with-CSS
- </code>
- <p>第2个参数指定单词之间的分隔符. 默认使用破折号'-'.</p>
- <code>$title = "What's wrong with CSS?";<br />
- <br />
- $url_title = url_title($title, '_');<br />
- <br />
- // 输出: Whats_wrong_with_CSS
- </code>
- <p>第3个参数决定了是否强制转换为小写.默认情况下不会.参数类型为布尔值
- <dfn>TRUE</dfn>/<dfn>FALSE</dfn>:</p>
- <code>$title = "What's wrong with CSS?";<br />
- <br />
- $url_title = url_title($title, '_', TRUE);<br />
- <br />
- // Produces: whats_wrong_with_css
- </code>
- <h2>prep_url()</h2>
- <p>在URL中没有<kbd>http://</kbd>的情况下,这个函数可以附加上.像这样把URL字串传递给函数:</p>
- <code>
- $url = "example.com";<br /><br />
- $url = prep_url($url);</code>
- <h2>redirect()</h2>
- <p>通过发送HTTP头,命令客户端转向到您指定的URL。您既可以指定一个完整的URL,也可以对于站内内容,指定基于网站根目录的相对URL。本函数会自动根据您的配置文件,构造出完整的URL。</p>
- <p>你可以设定第二个参数为 location 定位操作(默认)或者 refresh 刷新操作。定位操作比刷新操作执行速度快,但是在Windows服务器上有时会报错。可选的第3个参数允许你发送一个特定的HTTP请求返回码 - 举例来说这可以用来创建303请求重定向来服务于搜索引擎. 默认的请求返回码是302(临时重定向). 第3个参数<em>只</em>使用于'location'重定向, 而不是用于'refresh'. 范例:</p>
- <code>
- //注意!!一定不要忘了加载 $this->load->helper('url');<br/>
- <br/>if ($logged_in == FALSE)<br />
- {<br />
- redirect('/login/form/', 'refresh');<br />
- }<br />
- <br />
- // with 301 redirect<br />
- redirect('/article/13', 'location', 301);</code>
- <p class="important"><strong>注意:</strong>由于此函数需要处理header头文件,因此它必须在向客户端输出任何内容之前调用。<br />
- <strong>注意:</strong>如果您想对HTTP头做更细致的设置,您可以使用<a href="../libraries/output.html">输出类</a>的 set_header() 函数。</p><p> </p>
- <div id="Contributors">
- 翻译贡献者:
- Deloz, dren_a, Hex, IT不倒翁, kkorange, linfj, LSvKing, mp5baby, mynameisjian, nardo, shamiao, tinsn, yeto, yinzhili, zehee, 大漠沙尘, 杜建宇</div>
- <div id="DocDate">
- 最后修改: 2014-05-19 12:49:00</div>
- </div>
- <!-- END CONTENT -->
- <div id="footer">
- <p>
- 上一个主题: <a href="typography_helper.html">排版辅助函数</a> · <a href="#top">页首</a>
- · <a href="../index.html">用户指南首页</a> · 下一个主题: <a href="xml_helper.html">XML 辅助函数</a> </p>
- <p><a href="#">CodeIgniter</a> · 版权所有 © 2006-2013 · <a href="#">Ellislab, Inc.</a></p>
- <p>中文化: <a href="#">CodeIgniter 中国</a> · 制作: Hex · 版本: 1.30 · 鸣谢: 子非鱼</p>
- </div>
- </body>
- </html>
|