使用require指令插入.php文件时出错

时间:2017-05-04 11:19:31

标签: php

我是 PHP 中的新手,我在尝试将所需文件定义到 .php 文件时遇到以下问题,我这样做了:

require("../../common/define.php");

因为 define.php 进入与该文件相关的 common / 两个级别,我正在尝试使用 require 指令。

但是这种语法似乎是错误的,因为它给了我这个错误信息:

  

警告:require(../../ common / define.php):无法打开流:C:\ xampp \ htdocs \ PandaOk \ templates \ default \ common \ remove-booking_pc中没有此类文件或目录。 php在第3行

为什么呢?怎么了?如何在树中插入某个级别的必需文件?

1 个答案:

答案 0 :(得分:3)

PHP当前文件:

  

C:\ XAMPP \ htdocs中\ PandaOk \模板\默认\共同\除去-booking_pc.php

然后,在此文件中,您有../../common/define.php

的请求

返回两个步骤[文件夹],然后进入common文件夹;

这是后退两步:

  

C:\ XAMPP \ htdocs中\ PandaOk \模板\

进入common文件夹:

  

C:\ XAMPP \ htdocs中\ PandaOk \模板\共同\

所以你给出的是一个不存在的目录,这正是错误告诉你的。

相反,只退一步:

require("../common/define.php");

另外,更好的做法是使用$_SERVER['DOCUMENT_ROOT']执行绝对文件路径,例如

require $_SERVER['DOCUMENT_ROOT']."/templates/default/common/remove-booking_pc.php";

这意味着无论项目指向树在何处被调用,reqire总是会成功。

(我不知道你的document_root将被定义为哪个目录,但我希望你能得到这个想法

您还可以提供完整的静态文件路径,例如as commented by Sahil Gulati

require "C:\xampp\htdocs\PandaOk\templates\default\common\define.php";

P.S Requireinclude不需要括号。