致命错误:在C:\wamp\www\Test-CI\application\views\layout.php的第5行调用未定义的函数base_url()。

49

你好,我是CodeIgniter和PHP新手,我正在尝试第一次设置它,但是出现了以下错误:

Fatal error: Call to undefined function base_url() in

  1. C:\wamp\www\Test-CI\application\views\layout.php on line 5
     

  2. {main}( ) IN ..\index.php:0 require_once('C:\wamp\www\Test-CI\system\core\CodeIgniter.php' ) IN ..\index.php:202

  3. call_user_func_array ( ) IN ..\CodeIgniter.php:359

  4. Home->index( ) IN ..\CodeIgniter.php:0

  5. CI_Loader->view( ) IN ..\home.php:17

  6. CI_Loader->_ci_load( ) IN ..\Loader.php:419

  7. include('C:\wamp\www\Test-CI\application\views\layout.php' ) IN ..\Loader.php:833

我的代码:

 <html>
    <head>
        <meta http-equiv="Content-type" content="text/html; charset=utf-8">
        <title>Galleriffic | Custom layout with external controls</title>
        <link rel="stylesheet" href="<?php base_url(); ?>/assets/css/basic.css" type="text/css" />
        <link rel="stylesheet" href="<?php base_url(); ?>/assets/css/galleriffic-5.css" type="text/css" />
        
        <!-- <link rel="stylesheet" href="<?php base_url(); ?>/assets/css/white.css" type="text/css" /> -->
        <link rel="stylesheet" href="<?php base_url(); ?>/assets/css/black.css" type="text/css" />
        
        <script type="text/javascript" src="<?php base_url(); ?>/assets/js/jquery-1.3.2.js"></script>
        <script type="text/javascript" src="<?php base_url(); ?>/assets/js/jquery.history.js"></script>
        <script type="text/javascript" src="<?php base_url(); ?>/assets/js/jquery.galleriffic.js"></script>
        <script type="text/javascript" src="<?php base_url(); ?>/assets/js/jquery.opacityrollover.js"></script>
        <!-- We only want the thunbnails to display when javascript is disabled -->
        <script type="text/javascript">
            document.write('<style>.noscript { display: none; }</style>');
        </script>
    </head>

1
你需要URL助手..请参考http://codeigniter.com/user_guide/。 - user1190992
14个回答

175
你需要加载url_helper才能访问那个函数。要么你添加

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

在你的控制器中的某个位置。

或者,为了让它自动加载到任何地方,请确保application/config/autoload.php中的一行看起来像这样:

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

在该数组中包含'url'(如上所示)。


这个完美地运作了,之前在生成带有 base_url 的锚点链接时遇到了问题。 - twinaholic

20

只需添加

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

在您的配置文件中的autoload.php中


我个人不建议新用户使用autoload...最好手动一遍又一遍地做(就像所有事情一样)来扎实地学习,然后再开始使用快捷方式...这只是我的意见... - dsdsdsdsd

12

在您的控制器中,在加载视图之前需要加载帮助程序。

但我认为您想使用函数 site_url()

在加载视图之前的任何地方(通常是在控制器方法内),将以下代码添加到您的代码中:

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

然后使用函数 site_url()


6
只有三种解决方法。 将以下代码粘贴到此路径application/config/autoload.php中。 我大多数情况下使用这种方法。
require_once BASEPATH . '/helpers/url_helper.php';

这很好,但有时会失败。

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

我从未使用过它,但我知道它可以工作。

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

5

在codeigniter项目中加载其他文件(css、js)和文件夹(images),需遵循两个简单步骤:

1. 在代码风格指南(codeigniters)文件夹中创建public文件夹(可任意命名),并将bootstrap文件的css和js文件夹放入public文件夹内。 https://istack.dev59.com/O2gr6.webp

2. 现在我们需要使用以下两行代码: 1.load->helper('url'); ?> 2.

进入到您的视图文件中

将第一行代码添加以加载基本URL。

   <?php $this->load->helper('url'); ?>

第二步,在您的html头标签中放置以下内容:
   <link rel="stylesheet" type="text/css" href="<?php echo base_url(); ?>/public/css/bootstrap.css">

现在您可以在CodeIgniter中使用Bootstrap了。

4

在使用base_url()函数之前,您必须使用echo。否则它将不会打印基本网址。


4

前往应用程序/config/autoload.php

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

在任何位置添加以下内容:

并在控制器中添加以下内容:

function __construct()
{
    parent::__construct();
$this->load->helper('url');

}

3

codeigniter需要加载url助手才能调用base_url()函数。

使用application->config->autoload.php

编辑autoload助手数组并添加url助手。

base_url()函数现在可以使用了。


1
首先,您需要使用echo显示基本URL。然后更改autoload.php中的以下值,该文件将位于您的应用程序/config/文件夹中。 $autoload['helper'] = array('url'); 然后您的问题将得到解决。

0

<link href="http://localhost/CodeIgniter-2.2.6/css/sm_reg.css" rel="stylesheet">

在这里,我设置href的值为文件的路径,您可以通过以下步骤获取此路径

在浏览器中搜索localhost,然后进入保存文件的目录,然后复制URL

注意* **如果您有任何名为index.php、index.html或其他索引命名的文件,请暂时更改文件名以获取URL,然后撤消文件名**

使用此方法不需要使用函数


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接