Php codeigniter css和js文件路径
我正在用php codeigniter开发一个web应用程序。在views文件夹中,我创建了header.php,其中包含css和js等文件,并为页面的页脚创建了footer.php。 在默认控制器中,当我使用Php codeigniter css和js文件路径,php,codeigniter,Php,Codeigniter,我正在用php codeigniter开发一个web应用程序。在views文件夹中,我创建了header.php,其中包含css和js等文件,并为页面的页脚创建了footer.php。 在默认控制器中,当我使用$this->load->view('header')时,一切正常。但当我在其他页面中使用此命令时,css文件无法加载。在inspect元素中,我发现了错误,在css文件路径中,codeigniter向这个地址添加了index.php/ctrl\u name 这是我的css文件的路径: h
$this->load->view('header')
时,一切正常。但当我在其他页面中使用此命令时,css文件无法加载。在inspect元素中,我发现了错误,在css文件路径中,codeigniter向这个地址添加了index.php/ctrl\u name
这是我的css文件的路径:
http://localhost:9000/CRM/index.php/home/assets/css/materialize.min.css
这是因为您为资产使用相对URL,可能类似于
'assets/css/materialize.min.css'
一种可能的解决方案是使用绝对URL:
base\u url('assets/css/materialize.min.css')
另一种解决方案是使用常数存储资产文件夹的路径,然后每次包含某些资产时都使用该常数:
define('ASSETS_URL', base_url('assets/'));
// or you can even define separate constants for CSS
define('ASSETS_CSS_URL', base_url('assets/css/'));
// then use it like this
// note the extra slash, base_url() strips trailing slashes
$path_to_css_file = ASSETS_CSS_URL . '/materialize.min.css';
这是因为您为资产使用相对URL,可能类似于
'assets/css/materialize.min.css'
一种可能的解决方案是使用绝对URL:
base\u url('assets/css/materialize.min.css')
另一种解决方案是使用常数存储资产文件夹的路径,然后每次包含某些资产时都使用该常数:
define('ASSETS_URL', base_url('assets/'));
// or you can even define separate constants for CSS
define('ASSETS_CSS_URL', base_url('assets/css/'));
// then use it like this
// note the extra slash, base_url() strips trailing slashes
$path_to_css_file = ASSETS_CSS_URL . '/materialize.min.css';
我建议您将所有静态文件放在web根目录中的“资产”文件夹中。假设您创建了一个名为“资产”的文件夹,其中包含特定类型的文件夹,即js、img、css 然后始终在以下示例中引用它们:
- /assets/js/main.js
- /assets/css/style.css
- /资产/img/picture.jpg
- /assets/js/main.js
- /assets/css/style.css
- /资产/img/picture.jpg
$autoload['helper']=数组('url');
$config['base_url']='http://localhost/MyProject';
在application/config/autoload.php中加载url帮助程序
$autoload['helper']=数组('url');
在application/config/config.php中设置base_url config
$config['base_url']='http://localhost/MyProject';
在header.php中,包括js和css,如下所示:
请在autoload.php内部应用程序->配置中自动加载url
helper,然后通过base\u url()
链接所有文件。将所有js和css文件放在Assets文件夹中,然后检查链接代码:
<link href="<?php echo base_url(); ?>/home/assets/css/materialize.min.css" rel="stylesheet" type="text/css" >
请在autoload.php内部应用程序->配置中自动加载url
helper,然后通过base\u url()
链接所有文件。将所有js和css文件放在Assets文件夹中,然后检查链接代码:
<link href="<?php echo base_url(); ?>/home/assets/css/materialize.min.css" rel="stylesheet" type="text/css" >
试试这个url
<link rel="stylesheet" type="text/css" href="<?php echo base_url();?>assets/css/materialize.min.css">
试试这个url
<link rel="stylesheet" type="text/css" href="<?php echo base_url();?>assets/css/materialize.min.css">
我这样做。对于默认控制器,它可以正常工作,但对于其他控制器,它会将index.php添加到这些资产的路径中,然后确保文件不在正确的位置。如果文件位于webroot中,则默认情况下,/将使浏览器指向那里。对于默认控制器,它可以正常工作,但对于其他控制器,它会将index.php添加到这些资产的路径中,然后确保文件不在正确的位置。如果文件位于webroot中,则默认情况下,/将使浏览器指向该位置。请检查生成的URL。它应该会给你一些错误提示。检查生成的URL。它应该会给你一些错误提示。请发布更多代码。你是否已将基本url设置为$config['base\u url']='http://localhost:9000/CRM/'; 代码>您需要。资产必须位于应用程序文件夹的外侧。请发布更多代码。您是否已将基本url设置为$config['base\u url']='http://localhost:9000/CRM/'; 代码>您需要。资产必须位于应用程序文件夹的外侧。我正是这样做的。但在其他控制器中不工作。您的资产文件夹在哪里?请检查浏览器视图页面Source中的url链接我确实可以这样做。但在其他控制器中不工作。您的资产文件夹在哪里?请检查浏览器视图页面sourceTNX bro中的url链接!我就是这么做的。但不适用于其他控制器。您能告诉我您的目录顺序吗?你把资产文件夹放在哪里?我把这个文件夹放在project.TNX bro的根目录下!我就是这么做的。但不适用于其他控制器。您能告诉我您的目录顺序吗?你把资产文件夹放在哪里?我把这个文件夹放在项目的根目录中。