2011-06-23 81 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

相關問題