46

您好,我是 CodeIgniter 和 PHP 的新手,我正在尝试第一次设置它,但它给出了以下错误。

致命错误:调用未定义的函数 base_url()

  1. C:\wamp\www\Test-CI\application\views\layout.php 在第 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. 主页->index() IN ..\CodeIgniter.php:0

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

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

  7. 包括('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>
4

12 回答 12

170

您必须加载url帮助程序才能访问该功能。要么你加

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

在你的控制器的某个地方。

或者,要让它在任何地方自动加载,请确保application/config/autoload.php中的行看起来像

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

在那个数组中有'url'(如上所示)。

于 2012-07-20T14:51:23.547 回答
20

只需添加

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

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

于 2014-10-17T05:26:33.193 回答
12

您需要先加载帮助程序,然后再将视图加载到控制器中的某个位置。

但我认为你想在这里使用该功能site_url()

在加载视图之前,基本上是在控制器方法中的任何位置,将其添加到代码中:

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

然后使用函数 site_url()

于 2012-07-20T14:51:35.150 回答
6

只有三种方法可以解决。在此路径 application/config/autoload.php 中粘贴以下代码。

他们中的大多数我都用这个

require_once BASEPATH . '/helpers/url_helper.php';

这很好,但有些时候,它失败了

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

我从不使用它,但我知道它有效

$this->load->helper('url');
于 2018-08-07T19:28:04.753 回答
5

在 codeigniter 项目中加载其他文件(css,js)和文件夹(images)

我们必须遵循两个简单的步骤:

1.在您的codeigniters文件夹中创建文件夹public(可以给出任何名称)将您的引导文件css和js文件夹放在公共文件夹中。https://i.stack.imgur.com/O2gr6.jpg

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

于 2017-09-20T07:04:40.107 回答
4

你必须使用echo之前的base_url()功能。否则它不会打印基本网址。

于 2012-12-19T07:47:06.057 回答
3

转到 application/config/autoload.php

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

在任何地方添加这个

并在控制器中

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

}
于 2020-09-24T20:08:28.727 回答
3

codeigniter 需要加载 url helper 来调用base_url()函数。

利用application->config->autoload.php

编辑自动加载帮助器数组并添加 url 帮助器..

base_url()功能现在正在工作..

于 2016-01-12T06:52:44.950 回答
1

首先,您必须提供 echo 以显示基本 url。然后在您的应用程序/配置/文件夹中的 autoload.php 中更改以下值。 $autoload['helper'] = array('url'); 那么您的问题将得到解决。

于 2013-12-06T09:35:06.163 回答
0

检查您是否CI_Controller在控制器中扩展类,并且在您必须echo base_url($path)运行的视图中,否则它将不起作用。

于 2012-07-20T14:51:51.747 回答
0

只需添加$autoload['helper'] = array('url');autoload.php.

于 2015-05-21T10:18:00.403 回答
0

只需创建一个变量$base_url

$base_url = load_class('Config')->config['base_url'];

<?php echo $base_url ?>

并在您的代码中调用它..

于 2017-02-25T06:47:16.593 回答