我对相对路径有一点了解。假设,我有一个关于codeigniter的项目。有4个控制器,如功能名称:
1. Admin->index,profile,add_student,edit_marks,make_admin,
2. Teacher->index,add_marks,update_marks
3. Student->index,view_teacher,view_result
4. Guest->index,view_Student, view_marks,view_result
从这些中,我如何将它们用作相对路径?提醒它,有时我将一个控制器转到另一个控制器,例如profile,view_marks是所有人的常用功能,所以每个人都可以访问它。
对于图像或文件,我可以使用相对路径吗?然后,假设我在根文件夹中有一个图像 - > ROOT_FOLDER /模板/图像/ a.png。我怎样才能将它用作相对路径?
真的,我需要在codeigniter中应用相对路径的核心知识。
答案 0 :(得分:2)
您应该使用root / index.php
中定义的codeigniter常量使用根路径
FCPATH
返回
安装codeigniter的根文件夹的路径。
所以在你的情况下,它将是
FCPATH。 '模板/图像/ a.png';
我假设您正在寻找路径而不是网址。
答案 1 :(得分:1)
最后我找到了答案:
没有必要每次都使用base_url或site_url作为链接。
所有时间使用:
/controller_name/function_name
例如,对于查看管理员的个人资料代码的锚链接(我希望,此技术称为相对路径)。它减少了路由它的时间。
<a href="/admin/profile">Admin Profile</a>
答案 2 :(得分:0)
将此用于图像路径有什么问题?
base_url('path/to/image')
答案 3 :(得分:0)
如果有像senario的话
ROOT
|____APPLICATION
|____ASSETS
| |________ CSS
| |________ JS
| |________ IMG
|____SYSTEM
然后你可以按如下方式访问css: -
<script type="text/javascript" src="<?php echo base_url();?>assets/css/style.css"></script>
<script type="text/javascript" src="<?php echo base_url();?>assets/js/getinfo.css"></script>
<script type="text/javascript" src="<?php echo base_url();?>assets/img/image.png"></script>
答案 4 :(得分:0)
目前接受的答案很好,但不是相对的。例如:如果网站将从根目录替换到子目录,则网址将不再起作用。
有关我在此处找到的同一主题的更多信息:How can I display images with the Codeigniter php framework?
该主题的答案建议不要使用相对路径,但我个人希望在模块中看到这一点(CodeIgniter的MX插件)。
所以这是我找到的相对路径的可能方式:
<?php $path = base_url(str_replace(FCPATH,"", __DIR__ )).'/'; ?>
使用示例:
<img src="<?php echo $path;?>../assets/img/myImage.png" />
例如:如果这个html将在/modules/mymodule/views/someviewfile.php中使用,那么输出将是yourdomain.com/modules/mymodule/assets/img/myImage.png