簡體   English   中英

如何在CodeIgniter中使用相對路徑?

[英]How can I use relative path in CodeIgniter?

我對相對路徑有所了解。 假設我有一個關於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 / template / images / a.png。 如何使用它作為相對路徑?

確實,我需要在Codeigniter中使用應用程序時具有相對路徑的核心知識。

您應該使用在root / index.php中定義的codeigniter常量

要獲取根路徑,請使用

FCPATH

它返回

到安裝您的codeigniter的根文件夾的路徑。

因此,根據您的情況,

FCPATH。 '模板/圖像/ a.png';

我假設您正在尋找路徑而不是URL。

最后,我找到了答案:

不必每次都使用base_url或site_url進行鏈接。

所有時間使用:

 /controller_name/function_name

例如關於查看管理員個人資料代碼的錨鏈接(我希望這種技術稱為相對路徑)。 它減少了路由時間。

    <a href="/admin/profile">Admin Profile</a>

將其用於圖像路徑有什么問題?

base_url('path/to/image')

如果有像ROOT |____APPLICATION |____ASSETS | |________ CSS | |________ JS | |________ IMG |____SYSTEM這樣的senario ROOT |____APPLICATION |____ASSETS | |________ CSS | |________ JS | |________ IMG |____SYSTEM 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>

當前接受的答案很好,但是不是相對的。 例如:如果將網站從根目錄替換為子目錄,則該URL將不再起作用。

我在這里找到有關同一主題的更多信息: 如何使用Codeigniter php框架顯示圖像?

該主題中的答案建議不要使用相對路徑,但我個人希望在模塊(用於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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM