【问题标题】:Fatal error: Call to undefined function base_url() in C:\wamp\www\Test-CI\application\views\layout.php on line 5致命错误:在第 5 行调用 C:\wamp\www\Test-CI\application\views\layout.php 中未定义的函数 base_url()
【发布时间】:2012-07-19 20:45:51
【问题描述】:

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

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

  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. 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>

【问题讨论】:

标签: php codeigniter


【解决方案1】:

转到 application/config/autoload.php

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

将此添加到任何位置

在这个控制器中

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

}

【讨论】:

    【解决方案2】:

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

    大部分我都用这个

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

    这很好,但有时会失败

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

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

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

    【讨论】:

      【解决方案3】:

      在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 中享受引导程序

      【讨论】:

        【解决方案4】:

        只需创建一个变量为$base_url

        $base_url = load_class('Config')->config['base_url'];
        
        <?php echo $base_url ?>
        

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

        【讨论】:

          【解决方案5】:

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

          使用application-&gt;config-&gt;autoload.php

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

          base_url() 功能现在正在运行..

          【讨论】:

            【解决方案6】:

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

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

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

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

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

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

            【讨论】:

            • 这很好用,在为我的锚标签生成带有 base_url 的链接时遇到问题
            【解决方案7】:

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

            【讨论】:

              【解决方案8】:

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

              【讨论】:

              • @kenorb 是的,它确实提供了答案。它甚至是正确的。不幸的是,这个问题也是重复的。
              • @holodoc 可能是,但答案是从其他投票的答案中复制而来的,因此无论如何都应该将其删除。已经有太多完全相同的答案,稍后发布。所以要么人们不阅读其他答案,要么他们认为他们可以获得一些分数。
              • @kenorb 是否复制它仍然是一个有效的答案。社区的投票习惯是一个完全不同的话题。无论哪种方式,问题现在都被标记为重复,可能会被关闭。
              【解决方案9】:

              只需添加

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

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

              【讨论】:

              • 我个人不鼓励对新用户使用自动加载...最好一遍又一遍地手动进行(与所有内容一样)以扎实学习它,然后您可以开始使用快捷方式...只是我的意见......
              【解决方案10】:

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

              但是我觉得这里你要使用site_url()这个函数

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

              $this-&gt;load-&gt;helper('url');

              然后使用函数site_url()

              【讨论】:

                【解决方案11】:

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

                【讨论】:

                  【解决方案12】:

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

                  【讨论】:

                    猜你喜欢
                    • 1970-01-01
                    • 1970-01-01
                    • 1970-01-01
                    • 2015-04-04
                    • 2014-03-17
                    • 2019-11-10
                    • 1970-01-01
                    • 1970-01-01
                    • 2016-03-15
                    相关资源
                    最近更新 更多