2011-06-23 148 views
50

我正在使用codeigniter开发我们的应用程序。我试图使用base_url()函数,但它显示空的结果。我已经通过autoload文件使用了自动加载助手,但是它似乎也不起作用。我也定义了基本常量,但都是徒劳的。请帮忙。base_url()函数在codeigniter中不起作用

<html xmlns="http://www.w3.org/1999/xhtml"> 
    <head> 
     <title><?php echo $title; ?></title>   
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> 
     <link rel="stylesheet" href="<?php echo base_url();?>/css/template/default.css" type="text/css" /> 
     <script type="text/javascript"> 
      //<![CDATA[ 
      base_url = '<?= base_url();?>'; 
      //]]> 
     </script> 
    </head> 
+1

你能告诉我们你的代码,好吗? – Sampson

+0

@Jonathan Sampson:我曾尝试使用echo base_url();在主体部分,并得到一个空的结果 –

+1

@Sanks你能告诉我们生成的HTML吗?我发现您在脚本区域中使用了两个短标签进行打印,而在样式表区域中使用标准回显进行输出。 – Sampson

回答

124

为了使用base_url(),您必须首先加载URL助手。这可以在application/config/autoload.php做到无论(或前后67行):

$autoload['helper'] = array('url'); 

或者手动:

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

一旦加载,一定要记住,base_url()不会隐式印刷或回声出任何东西,而是返回到打印的值:

echo base_url(); 

也请记住,返回的值是该网站的基本URL作为配置文件提供。笨将容纳在配置文件中的空值,以及:

如果这(BASE_URL)也不会设置笨会猜测该协议,域名和路径安装。

的application/config/config.php文件,13号线

+1

猜测'echo'或什么东西丢失了?否则,这不应该发生,如果助手拼写错误或不存在,autoload会窒息。如果函数未定义,至少php会抛出一个错误。 'base_url()'应该总是返回* something *。 **附录**:请注意,在2.0.2中,配置值可以为空,并且会自动检测基本网址,因此不会有空的情况。 –

+0

@韦斯利我怀疑它也是一个缺少对'echo'的调用。 – Sampson

+0

@Jonathan Sampson:我已经装载了自动加载助手。但它似乎并不奏效。我已经通过codeigniter用户指南,我认为URL助手存在。 –

2

检查,如果你已经配置了配置文件/application/config/config.php例如里面的东西

$config['base_url'] = 'http://example.com/'; 
4

如果你想使用base_url(),所以我们需要加载url助手。

  1. 通过使用自动加载$autoload['helper'] = array('url');
  2. 或通过在控制器或在视图$this->load->helper('url');

手动加载然后可以用户base_url()在控制器或视图的任何地方。

0

如果你不想使用url帮手,你可以通过下面的变量相同的结果:

$this->config->config['base_url'] 

它将返回基地网址为您无需额外的步骤。

2

我想你还没有编辑codeigniter文件来启用base_url()。您尝试将其分配给url_helper.php,您也可以执行相同的config/autoload.php文件。您可以在autoload.php

$autoload['helper'] = array('url'); 

这样

<link rel="stylesheet" href="<?php echo base_url();?>/css/template/default.css" type="text/css" /> 
0

首先负载URL帮手加入这样的代码比你就能UE BASE_URL()。你可以加载“config/autoload。PHP的”文件,并添加以下代码 $autoload['helper'] = array('url');

或控制器添加以下代码

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

然后转到cofig文件夹config.php文件,并设置

$config['base_url'] = 'http://urlbaseurl.com/'; 

希望这将有助于 感谢

0

首先,您必须将url帮助文件加载到您的项目中

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

然后你会被得到BASE_URL

echo base_url(); 

Read more about base_url here

相关问题