有没有一种方法可以在不使用“ ../”的情况下将文件包含在多个目录中

用户名

我在服务器上设置了几个目录。我有这个文件,需要包括3个目录的php文件。

include "../../../folder/neededThis.php" 可以正常工作,但是如果您多次在不同的功能上执行该操作,则很难计算文件返回的目录数量。

是否可以通过指定整个路径而不是使用“ ../来包含文件

例如。 include function(path/to/my/folder/neededThis.php);

用户名

您可以使用它,$_SERVER["DOCUMENT_ROOT"]因为这将始终返回您正在处理的内容的根文件夹。一个示例实现:

<?php
 $file = $_SERVER["DOCUMENT_ROOT"]."path/to/my/folder/needThis.php";
 echo "#LOC: ".$file; //output where is the file
 include $file; 
 #rest of code....
?>

它会返回如下内容:

#LOC: server/path/to/my/folder/needThis.php

但是,如果将文件移到服务器的子域,则需要调整受影响的文件,一种避免这种情况的方法是使用 getcwd()

例如:如果您的文件被移至子域(示例:),server/subb则上述脚本将返回如下内容:

#LOC: server/path/to/my/folder/needThis.php
Warning: include(server/path/to/my/folder/needThis.php): failed to open stream: No such file or directory in server/subb/index.php on line 4

如果我们更换$_SERVER["DOCUMENT_ROOT"]getcwd()就不会发生问题。

采取预防措施,我不知道使用此方法会有什么安全隐患。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

有没有一种方法可以不使用Django中的默认表?

有没有一种方法可以不使用mongodb将pymongo连接到本地文件?

在nodeJs中,有没有一种方法可以循环使用数组而不使用数组大小?

在JavaScript中,有没有一种方法可以在不使用toLocaleString的情况下将Date转换为时区?

在 Pandas 中,有没有一种方法可以在不使用 Eval 的情况下将数据转换为列表?

有没有一种方法可以散列命令输出而不使用临时文件?

有没有一种方法可以显示文件的权限而不使用`ls`

有没有一种方法可以将div彼此定位而不使用绝对位置?

有没有一种方法可以在Spring MVC测试中不使用@MockBean?

有没有一种方法可以获取列表中的每个元素而不使用循环?

有没有一种方法可以在不使用className的情况下使用ID在React中设置元素的样式?

有没有一种方法可以在不使用canvas API的情况下从图像文件获取二进制数据?

有没有一种方法可以在不使用ObjectInputStream的情况下将FileInputStream转换为Object?

有没有一种方法可以在不使用游标的情况下遍历TSQL中的表变量?

有没有一种方法可以在不使用循环的情况下获取列表中对象的索引

有没有一种方法可以在不使用awk的情况下获得git中其他提交的数量?

有没有一种方法可以在不使用UINavigationController的情况下更改情节提要中的UINavigationBar的高度?

有没有一种方法可以在不使用小部件的情况下访问PageState类中的页面属性

有没有一种方法可以在不使用用户代理的情况下从IE8-IE11中检测IE?

有没有一种方法可以在不使用宏的情况下合并Excel中的选项卡?

有没有一种方法可以在不使用uuencode的情况下在sendmail命令中附加文件

有没有一种方法可以在不使用一个热编码器的情况下训练RNN?

有没有一种方法可以在不使用各种不同方法的情况下对字符串进行突变?

有没有一种方法可以在不使用std :: move的情况下使用构造的类来初始化类?

有没有一种方法可以在不使用R中使用sample()函数的情况下创建向量的排列?

有没有一种方法可以在不使用python GIL的情况下进行序列化/反序列化

有没有一种方法可以在不使用bashrc / bash_profile的情况下使命令的输出着色?

有没有一种方法可以在不使用npm服务器的情况下构建vue.js组件?

有没有一种方法可以在不使用snapcraft的情况下构建snap或linux应用程序?