CodeIgniter - Simple base_url question

2020-02-06 17:39发布

问题:

I'm a bit confused here.

I have a simple controller which loads a view. The view contains a form and links some CSS files. I don't really want to do ../../css/global.cssin my link tag. I want to use the base_url() method and then go /css/.

I know a friend uses the following:

  <link href="{base_url}css/style.css" rel="stylesheet" type="text/css" />

However, I can't get that to work. He uses CodeIgniter 1.7 though, I'm using the latest (2.something) version. I'm new to CodeIgniter and I wanted to mess around with it, but I can't even link a simple CSS file :(

My view is in /logic/views/index.php, my css files are in /css/

Thanks a bunch.

回答1:

I think your problem is that base_url is a function in ci 2+ so try this instead

<link href="<?php echo base_url() ?>css/style.css" 
rel="stylesheet" type="text/css" />

It depends how you defined base_url if you did an ending slash otherwise just add a slash so

/css/style.css


回答2:

I put my css files in the root directory and link them like this

<?php echo link_tag('css/forie.css'); ?>  
<?php echo link_tag('css/reset.css'); ?>
<?php echo link_tag('css/main.css'); ?>

Using link_tag allows me to access them easily



回答3:

You can use the URL helper to ease your URL woes :)

http://codeigniter.com/user_guide/helpers/url_helper.html

Usage

Load it up in your bootstrap

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

And whenever you need something you can use

echo site_url("/css/style.css");

Or just assign it as a handy base url so you can use it wherever you want.

$base_url = site_url('/');
<link href="{$base_url}css/style.css" rel="stylesheet" type="text/css" />
<?php echo 'base url is' . $base_url?>

Note

Remember to define your proper base URL in the config file before using this method.



回答4:

for CI 2+ you can add $this->load->helper('url'); before you load the view and then add <link href="<?php echo base_url().'css/style.css';?>" rel="stylesheet" type="text/css" /> into your view file.