我正在使用codeigniter开发我们的应用程序。我试图使用base_url()函数,但它显示空结果。我通过自动加载文件使用了autoload helper,但是它似乎也没有用。我也定义了基本常量,但都是徒劳的。请帮忙。
<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>
答案 0 :(得分:141)
要使用base_url()
,您必须先加载URL Helper。这可以在application/config/autoload.php
(第67行或第67行)之前完成:
$autoload['helper'] = array('url');
或者,手动:
$this->load->helper('url');
加载后,请务必记住base_url()
不会隐式打印或回显任何内容,而是返回要打印的值:
echo base_url();
还要记住,返回的值是配置文件中提供的站点的基本URL。 CodeIgniter也将在配置文件中容纳一个空值:
如果未设置此(base_url),则CodeIgniter将猜测安装的协议,域和路径。
application / config / config.php,第13行
答案 1 :(得分:5)
如果你想使用base_url()
,那么我们需要加载url helper。
$autoload['helper'] = array('url');
$this->load->helper('url');
然后您可以在控制器或视图中的任何位置使用base_url()
。
答案 2 :(得分:3)
我认为您尚未编辑codeigniter文件以启用 base_url()。你尝试在url_helper.php中分配它,你也可以做同样的config / autoload.php文件。您可以在autoload.php中添加此代码
$autoload['helper'] = array('url');
你可以像这样使用base_url()
<link rel="stylesheet" href="<?php echo base_url();?>/css/template/default.css" type="text/css" />
答案 3 :(得分:2)
检查配置文件/application/config/config.php
中是否配置了某些内容,例如
$config['base_url'] = 'http://example.com/';
答案 4 :(得分:2)
首先加载URL帮助器。您可以加载“config / autoload.php”文件并添加以下代码
$autoload['helper'] = array('url');
或在控制器中添加以下代码
$this->load->helper('url');
然后转到cofig文件夹中的config.php并设置
$config['base_url'] = 'http://urlbaseurl.com/';
希望这会有所帮助
感谢
答案 5 :(得分:1)
首先,您必须将url帮助文件加载到项目中
$this->load->helper('url');
然后你会得到
的base_urlecho base_url();
答案 6 :(得分:0)
如果您不想使用网址助手,可以使用以下变量获得相同的结果:
$this->config->config['base_url']
它将为您返回基本网址,无需额外步骤。
答案 7 :(得分:0)
在控制器中加载url帮助器
$ this-> load-> helper('url');
答案 8 :(得分:0)
任何直接在Codeigniter框架中使用的东西,例如base_url()
,uri_string()
或word_limiter()
,所有这些都来自某种Helper
函数框架。
尽管Helpers
中的某些log_message()
可以像base_url()
一样在全球范围内使用,而在任何地方都非常有用,但其余的Helpers是可选的,并且使用情况因应用程序而异。 url
是在框架的base_url()
助手中定义的功能。
您可以在Codeigniter user guide's helper section.
中了解有关辅助程序的更多信息当您的当前类访问了$this->load->helper('url')
函数之后,您可以使用它,而您需要先对其进行加载。
base_url()
在使用config/autoload.php
函数之前,可以在应用程序中的任何位置使用此行。
如果您需要经常使用它,我建议在autoload helpers
部分的base_url
中添加此功能。
此外,请确保您在config/config.php
文件中定义了明确的$config['base_url'] = 'http://yourdomain.com/';
值。
这是您将看到的第一个配置,
echo base_url();
您可以通过以下方式快速检查
EventListener
参考:https://codeigniter.com/user_guide/helpers/url_helper.html
答案 9 :(得分:0)
问题-我想加载我的css文件,但是即使我自动加载并手动运行,它也不起作用,为什么?我找到了解决方案=> 这是我的解决方案: 应用程序>配置> config.php $ config ['base_url'] ='http://localhost/CodeIgniter/'; //将链接粘贴到基本网址
问题说明:
”> 我将我的bootstrap.min.css文件放在assets / css文件夹中,其中Assets是我创建的根目录。但是即使加载时它也无法正常工作? 1. $ autoload ['helper'] = array('url'); 2. $ this-> load-> helper('url');然后进入我的
答案 10 :(得分:0)
我花了几个小时遇到这个问题,但是以不同的方式解决了这个问题。可以看到,我刚刚在应用程序文件夹之外创建了一个Assets文件夹。最后,我将样式表链接到页面标题部分。文件夹结构在图像下方。
在执行此操作之前,您应该在控制器类方法/ __ constructor文件中或在 autoload.php 文件中包含 url 帮助文件。还要在以下文件 application / config / config.php
中更改$config['base_url'] = 'http://yoursiteurl';
如果将其包含在控制器类method / __ constructor中,则它看起来像
public function __construct()
{
$this->load->helper('url');
}
或如果您加载自动加载文件,则看起来像
$autoload['helper'] = array('url');
最后,添加样式表文件。 您可以通过不同的方式链接样式表,将其包含在内部部分
-> <link rel="stylesheet" href="<?php echo base_url();?>assets/css/style.css" type="text/css" />
->或
<?php
$main = array(
'href' => 'assets/css/style.css',
'rel' => 'stylesheet',
'type' => 'text/css',
'title' => 'main stylesheet',
'media' => 'all',
'index_page' => true
);
echo link_tag($main); ?>
->或
最终,我得到了更可靠的代码清理器概念。只需在您的 application / config / styles.php 文件夹中创建一个名为 styles.php 的配置文件。 然后在如下所示的 styles.php 文件中添加一些链接<?php
$config['style'] = array(
'main' => array(
'href' => 'assets/css/style.css',
'rel' => 'stylesheet',
'type' => 'text/css',
'title' => 'main stylesheet',
'media' => 'all',
'index_page' => true
)
);
?>
调用/将此配置添加到控制器类方法如下
$this->config->load('styles');
$data['style'] = $this->config->config['style'];
在标题模板中传递此数据如下所示。
$this->load->view('templates/header', $data);
最后添加或链接您的css文件,如下所示。
<?php echo link_tag($style['main']); ?>
答案 11 :(得分:0)
除了确保你已经设置了 config/autoload.php:
$autoload['helper'] = array('url');
从以下位置更改 application/config/config.php:
$config['base_url'] = 'http://example.com/';
成为动态基本网址:
$config['base_url'] = ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == "on") ? "https": "http");
$config['base_url'] .= "://".$_SERVER['HTTP_HOST'];
$config['base_url'] .= str_replace(basename($_SERVER['SCRIPT_NAME']),"",$_SERVER['SCRIPT_NAME']);
并且使用来自 php 的主机在本地运行它,下面只是一个示例端口。
php -S localhost:2000