php include|require_once 引入文件路径问题

以前确实没有怎么在意这个问题,但是在昨天帮助同事调试代码的时候,在a文件里引入b文件b文件里又引入c文件却提示c文件不存在,仔细核对了N遍路径没绝对问题,后来同事在b文件引入的时候改用了绝对路径(以前使用的相对路径),神奇的尽然可以了。带着疑惑百度看了一些文章大致明白了原因。

先把目录结构图放上

先来了解两个概念:

1.当前目录 :当前文件的目录

2.工作目录 :当前脚本运行的目录

php和其他语言处理引入文件的方式不大一样,到底是不是真的不一样也没实际的实验过。php是这样处理的:如果引入文件是./或../等相对路径它会去当前工作目录去查找该引入文件。其实看到这里我想你已经明白原因出在那里了。

模拟一下程序运行的步骤

a.php :

1.程序按照路径引入c.php,成功。

2.执行c.php,准备引入b.php。php发现使用的是相对路径,它会在当前工作目录查找b.php。现在的工作目录是dir0也就是说这个文件应该和dir0同级,显然这个文件不存在。程序报错不再继续执行。

为了验证猜测是否正确现在我把目录结构改成如下:

运行a.php 输出:我是b.php

这种办法在项目开发中肯定是不建议使用的,建议能使用绝对路径就使用绝对路径,还有几个函数可以看一下

include_path , realpath , dirname , __FILE__

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: require_once 'libraries/common.inc.php'; 是PHP中的一个函数调用,它的作用是在当前的代码中引入一个指定的文件。 在这个例子中,require_once函数用于引入名为common.inc.php文件。这个文件在libraries目录中。 该函数的使用有几个特点: 1. require_once是一个可重复使用的函数,可以在代码的任何位置多次使用,用于引入不同的文件。 2. require_once会尽力去引入指定的文件,如果失败则会报错并中断程序的执行。 3. require_once函数区分大小写,因此引入文件名必须严格匹配。 4. 使用require_once而不是require可以确保一个文件只会被引入一次,如果多次引入同一个文件require_once会自动防止重复引入。 这个函数的使用十分方便,特别适用于在代码中引入额外的类、函数、配置文件等。比如在一个网站的前端展示代码中,可以使用require_once引入一个用于数据库连接的文件,从而实现数据库操作的功能。 总的来说,require_once 'libraries/common.inc.php'; 就是一个PHP函数调用语句,将会引入common.inc.php文件到当前的代码中,从而在代码中使用common.inc.php中定义的变量、函数和类。 ### 回答2: require_once 'libraries/common.inc.php'; 是一段PHP代码,用于引入common.inc.php文件require_oncePHP语言中的一个函数,用于在脚本执行期间将指定的文件包含进来,确保文件只被包含一次。这可以避免出现重复包含文件导致的错误。 在这个代码中,'libraries/common.inc.php'是需要被引入文件路径。'libraries'是文件所在的文件夹,'common.inc.php'是文件的名称。 通过使用require_once语句,我们可以将common.inc.php文件的内容包含到当前的脚本中,并且只有在第一次引入时才会执行。这样,我们可以在当前脚本中使用common.inc.php文件中定义的函数、类或变量。 使用require_once而不是require的原因是为了避免在包含文件时出现重复定义的错误。如果用require语句包含同一个文件两次,PHP会报错,因为定义已经存在。而require_once会在第一次包含之后将相同文件的后续包含自动忽略掉。 这段代码的作用可能是为了在当前脚本中使用libraries文件夹下的common.inc.php文件中定义的函数、类或变量。这样可以提高代码的复用性和可维护性。 总之,require_once 'libraries/common.inc.php'; 是一段用于引入common.inc.php文件PHP代码,用于在当前脚本中使用common.inc.php文件中的定义。 ### 回答3: require_once 'libraries/common.inc.php'; 是一个PHP代码语句,用于加载和执行指定的文件。 其中,require_oncePHP的内置函数,用于导入并执行一个指定的文件。它的作用类似于include语句,但它有一个主要的区别:当文件已经被导入过一次时,require_once 不会再次导入,以避免重复定义和导入。这可以确保代码的可靠性和高效性。 'libraries/common.inc.php' 是要导入的文件路径。在这个例子中,它指的是当前目录下的 libraries 文件夹里的 common.inc.php 文件。这个文件可能包含一些常用的函数、配置信息或者其他需要在多个脚本文件中共享的内容。 通过使用 require_once 'libraries/common.inc.php' 语句,我们可以在当前的PHP脚本文件中导入并执行 common.inc.php 文件中的代码。导入后,我们就可以使用 common.inc.php 中定义的函数和变量,从而简化开发过程,并提高代码的复用性和可维护性。 总的来说,require_once 'libraries/common.inc.php' 语句是一个常用的PHP代码语句,用于导入并执行指定的文件,以方便在多个脚本文件中共享代码和数据。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值