CodeIgniter相对路径或基本URL功能?

use*_*221 0 javascript php codeigniter

所有这些天我都认为CodeIgniter不允许直接访问应用程序中的文件(我的意思是应用程序本身而不是应用程序文件夹).

所以,如果我在文件夹下有以下结构,www:

ROOT
|____APPLICATION
        |___________JS/mine.js
        |___________VIEWS/my_view.php
Run Code Online (Sandbox Code Playgroud)

如果我想包括mine.jsmy_view.php,我需要使用引用的JS文件base_url()的功能如下:

<script type="text/javascript" src="<?php echo base_url();?>js/mine.js"></script>
Run Code Online (Sandbox Code Playgroud)

看起来我错了,我也可以参考它.喜欢:

<script type="text/javascript" src="../js/mine.js"></script>
Run Code Online (Sandbox Code Playgroud)

有什么想法/意见吗?

哪一个是好习惯?为什么?

Cha*_*ink 8

使用它总是一个明智的想法,base_url()如果您的网址发生变化,您的所有链接都不会中断.

base_url() 将返回完整的TLD,以及您的网站所在的任何文件夹.

最佳做法是将资产保留在应用程序或任何其他系统文件夹之外.大多数CodeIgniter站点将按如下方式构建其资产:

ROOT
|____APPLICATION
|____ASSETS
|      |________ CSS
|      |________ JS
|      |________ IMG
|____SYSTEM
Run Code Online (Sandbox Code Playgroud)

然后像这样引用:

<script type="text/javascript" src="<?php echo base_url('assets/js/mine.js')"></script>
Run Code Online (Sandbox Code Playgroud)

  • 是的,甚至更好(如果你可以在您的托管上执行此操作)将应用程序和系统文件夹放在ROOT(www或public_html文件夹)之外,这样当服务器出现问题或您的网站被黑客入侵时,入侵者只能访问您的资产. (2认同)