Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
codeigniter-APPPATH返回控制器后面的路径_Codeigniter - Fatal编程技术网

codeigniter-APPPATH返回控制器后面的路径

codeigniter-APPPATH返回控制器后面的路径,codeigniter,Codeigniter,我在整理应用程序中的路径时遇到问题 我正在使用APPPATH函数在数据库中读取/写入图像的字符串路径。问题是APPPATH将函数放在控制器之后 下面是我获取css的函数 <link rel="stylesheet" type="text/css" href="<?php echo '../' . APPPATH.'_data/css/style.css'; ?>" /> css文件路径必须是 href="<?php echo '../../../' . APPPA

我在整理应用程序中的路径时遇到问题

我正在使用APPPATH函数在数据库中读取/写入图像的字符串路径。问题是APPPATH将函数放在控制器之后

下面是我获取css的函数

<link rel="stylesheet" type="text/css" href="<?php echo '../' . APPPATH.'_data/css/style.css'; ?>" />
css文件路径必须是

href="<?php echo '../../../' . APPPATH."_data/css/style.css"; ?>"

我使用的是一个简单的模板结构,其中我的页眉/内容/页脚位于视图中的include子文件夹中,并向内容发送数据。相当标准的东西。我只是不明白为什么APPPATH在调用时不起作用,因为它给了我应用程序文件夹的路径,而不管使用的是什么类。

APPPATH
实际上是用于系统文件,而不是前端资产。它是你的应用程序文件夹的路径,这就是它应该用来做的<代码>。/relative/path很少在Codeigniter中正常工作,因为它们与当前URL(而不是视图文件)是相对的。你现在真是一团糟

简单的解决方案是使用
base\u url()
,但如果您想要更短的路径,我会使用以下方法:

define('BASE_URI', str_replace('index.php', '', $_SERVER['SCRIPT_NAME']));
在大多数情况下,结果将是
/
,但这将考虑子目录中的CI安装。对于您来说,它应该返回
/project/

不建议将CSS和图像等静态文件混合到应用程序文件中。大多数人创建一个名为
assets
public
的目录来存储它们

<link rel="stylesheet" href="<?php echo BASE_URI.'public/css/style.css'; ?>" />
<link rel="stylesheet" href="<?php echo base_url().'assets/css/style.css'; ?>" />

这应该适用于任何地方。

APPPATH实际上是用于系统文件,而不是前端资产。它是你的应用程序文件夹的路径,这就是它应该用来做的<代码>。/relative/path很少在Codeigniter中正常工作,因为它们与当前URL(而不是视图文件)是相对的。你现在真是一团糟

简单的解决方案是使用
base\u url()
,但如果您想要更短的路径,我会使用以下方法:

define('BASE_URI', str_replace('index.php', '', $_SERVER['SCRIPT_NAME']));
在大多数情况下,结果将是
/
,但这将考虑子目录中的CI安装。对于您来说,它应该返回
/project/

不建议将CSS和图像等静态文件混合到应用程序文件中。大多数人创建一个名为
assets
public
的目录来存储它们

<link rel="stylesheet" href="<?php echo BASE_URI.'public/css/style.css'; ?>" />
<link rel="stylesheet" href="<?php echo base_url().'assets/css/style.css'; ?>" />
这应该在任何地方都能奏效。

base\u url()工作起来很有魅力!谢谢你的建议。我也将研究其他选项。另一个选项:base_url()非常有效!谢谢你的建议。也将研究其余选项。另一个选项:
<link rel="stylesheet" href="<?php echo APPPATH.'_data/css/style.css'; ?>" />