题 如何在codeigniter中加载css


我是codeigniter的新手,我正在使用v.2.12。我尝试从外部文件加载css时收到错误。

我在应用程序文件夹中创建了css文件夹。我以all.css的名义创建了css文件。

在视图文件中,我使用以下代码链接css文件。

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

但是css文件没有加载。我收到404错误。这是我的配置设置:

$config['base_url'] = 'http://webscarlets.com/ci/index.php';
$config['index_page'] = 'index.php';

网站链接: http://webscarlets.com/ci/index.php/welcome


14
2017-08-06 08:04


起源




答案:


功能 BASE_URL() 应该返回基本路径(没有index.php)

您可以通过添加反斜杠来修复它:

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

或者从配置中删除index.php:

$config['base_url'] = 'http://webscarlets.com/ci/';

10
2017-08-06 08:09



感谢您的回复让我试试并告诉您 - Soundhar Raj
嘿,我试过这个代码不起作用 - Soundhar Raj
什么是为CSS打印的URL? - Alaa Badran
您的服务器上找不到文件夹CSS。确保上传了CSS文件夹和all.css文件 - Alaa Badran
不,它在那里..如果你想我可以发送ftp详细信息给你? - Soundhar Raj


这是在CodeIgniter中包含CSS文件的方法:

<?php echo link_tag('css/mystyles.css'); ?>

该片段将输出此HTML:

<link href="http://site.com/css/mystyles.css" rel="stylesheet" type="text/css" />

功能 link_tag 在HTML帮助器中,必须首先加载。

(请注意,您可能不应该放入CSS文件 /application/css。把它们放进去更容易 /css 或者可能 /assets/css。)


29
2018-06-07 09:16



不知道为什么这不是选择的答案。谢谢Christian。 - Gerbus
神奇!我花了一整天的时间撞在墙上,问朋友什么不是。非常感谢你! - dotslash
非常感谢@Daven。 - Charitha Goonewardena


我只是找到避免index.php文件并加载我们的CSS文件的解决方案。 只需将以下代码复制到.htaccess文件中:

Options +FollowSymLinks
Options -Indexes
DirectoryIndex index.php
RewriteEngine on
RewriteCond $1 !^(index\.php|images|styles|scripts|robots\.txt|favicon\.ico)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L,QSA]

问候!


3
2017-08-29 15:25



OP要求使用PHP / CodeIgniter方式加载css。你的回答是无关的。 - b_dubb


在控制器操作/application/controllers/yourController.php中添加以下行

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

然后在视图文件的head标记中添加以下行。

<link rel="stylesheet" type="text/css" href="<? echo base_url('assets/css/yourcssfile.css');?>" />

假设您在app目录中创建了assets / css / folder。

<path to your app folder>/assets/css

3
2017-10-07 15:58





在使用之前 base_url() 你应该加载URL助手类。

就像是 $this->load->helper('url'); 在你的控制器中

base_url() 让你回到路上
'http://webscarlets.com/'
如果你直接在root或中设置它 'http://webscarlets.com/dir/'

并确保CSS文件的位置。

点击链接了解更多信息 URL助手


2
2017-08-06 08:15



谢谢回复。我加载了基本网址助手$ autoload ['helper'] = array('url','form','html'); - Soundhar Raj
它不起作用 - Soundhar Raj


另一种方式

在constants.php中定义一个常量(在config目录中)

define("LAYOUT_URL","http://localhost/yoursite/css/");

这里的“css”文件夹我假设是在应用程序文件夹中。你可以在页面中附加css吗?

<link rel="stylesheet" type="text/css" href="<?php echo LAYOUT_URL;?>all.css">

2
2017-08-06 08:32



嗨非常感谢。这对我有用 - Soundhar Raj
但你能告诉我为什么这不起作用<link rel =“stylesheet”type =“text / css”href =“<?echo base_url();?> / css / all.css”> - Soundhar Raj
定义( “LAYOUT_URL”,”本地主机/ yoursite / CSS /”); <link rel =“stylesheet”type =“text / css”href =“<?php echo LAYOUT_URL;?> all.css”>我不知道这是访问css文件的正确方法吗? - Soundhar Raj
我不确定,但由于配置中的index.php,你的base_url()没有加载你的css文件。它可能会搜索控制器。我的方式是一种干净的方式,我的方式没有任何问题,只有你习惯使用它才有意义。 - WatsMyName
好了,现在检查链接css没有加载。添加htaccess文件后从url中删除index.php css未加载 webscarlets.com/ci  现在,如果我删除.htaccess文件css正在工作 - Soundhar Raj


Jogesh_p

你用 BASE_URL 如下 放入控制器(你的控制器)

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

调节器 。 如果你想使用

如下 放在你想要的地方使用base_url。

echo base_url()

注意:最好在root用户创建新文件夹

(例如:主题) 相同:应用程序,系统,user_guide,主题)

我希望你能做到


2
2017-08-06 18:10





要附加一个CSS,JS,Images .etc,你只需要去你的 配置 文件夹并写在最后 constant.php 文件。

define('URL','ADD YOUR LOCAL/REMOTE PATH');

define('CSS',URL.'public/css/');
define('IMAGES',URL.'public/images/');
define('JS',URL.'public/images/');

之后转到您的视图并在链接中添加

<link rel="stylesheet" type="text/css" href="<?php echo CSS; ?>index.css">

这将解决您的问题。

希望能帮助到你。


2
2018-01-13 10:46