【问题标题】:Codeigniter: A fatal error occurs when using base_url() function to define a constant in "application/config/constants.php" fileCodeigniter:使用 base_url() 函数在“application/config/constants.php”文件中定义常量时发生致命错误
【发布时间】:2013-12-07 19:45:04
【问题描述】:

我正在使用 Codeigniter,现在我正在尝试定义一些常量来保存某些文件夹(如 css、js、图像等)的完整路径,并且我尝试在 application/config/constants.php 文件中定义这些常量,例如这个:

define("PATH_TO_CSS_FOLDER", base_url("assets/css"));

但我遇到了这个错误:

Fatal error: Call to undefined function base_url() in D:\xampp\htdocs\demo\application\config\constants.php on line 44

那么我怎样才能定义这些常量,而不必像这样在 constants.php 文件中写入绝对路径:

define("PATH_TO_CSS_FOLDER", "http://my-website.com/assets/css");

【问题讨论】:

  • 如何加载辅助函数?可能你应该使用这里描述的自动加载过程stackoverflow.com/questions/9009682/…
  • @james_bond 我已经加载了与您提到的已批准答案中提到的完全一样的 url 帮助程序
  • 除了我已经接受的“Rajeev Ranjan”的正确答案之外,我还为另一个类似问题找到了这个答案stackoverflow.com/a/13825685/458204,我发现它确实是一个很好的解决方案问题。

标签: php codeigniter


【解决方案1】:

你可以在 constant.php 中定义路径的其余部分

define("PATH_TO_CSS_FOLDER","assets/css");

以后在其他地方使用它

<?php echo base_url(PATH_TO_CSS_FOLDER);?>

您可能知道常量首先加载,然后是任何帮助程序

【讨论】:

    【解决方案2】:

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

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

    在你的控制器的某个地方,或者你可以把它放到 application/config/autoload.php 中以便在任何地方自动加载。

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

    echo base_url();

    【讨论】:

    • 我已经自动加载了 url helper,但这并没有解决问题
    • 你试过 site_url() 吗?
    • 你必须在 base_url() 函数之前使用 echo。否则它不会打印基本网址。
    • 是的,我做到了,和base_url()一样返回一个致命错误
    猜你喜欢
    • 2019-11-10
    • 2014-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-19
    • 1970-01-01
    • 1970-01-01
    • 2013-10-28
    相关资源
    最近更新 更多