目录
回复讨论(解决方案)
首页 后端开发 php教程 require目录

require目录

Jun 23, 2016 pm 01:57 PM
require 目录

osadmin的目录如下

注意
index.php在uploads目录下,
init.inc.php在uploads/include目录下
config.inc.php在uploads/include/config目录下

index.php:
require ('./include/init.inc.php');

init.inc.php:
require 'config/config.inc.php';

按理说访问index.php页时,寻找config.inc.php页的路径应为uploads/config/config.inc.php,是一个错误路径,但为什么实际运行确能找到?各位能解释下是怎么找到的吗。

难道解析这种既不是绝对路径,又不是相对路径的的路径,还有什么基情。

(补充)include_path:‘.;C:\php\pear’


回复讨论(解决方案)

init.inc.php:
require 'config/config.inc.php';

init.inc.php里面不是包括了config.inc.php 么,当然能找到啦。

php不是参照入口文件的路径吗?也就是说 在找config.inc.php时应该是按“uploads/config/config.inc.php”这个路径找,但显然这个路径不存在,存在的是“uploads/include/config/config.inc.php”。难道不是这样?

require 'config/config.inc.php';
不是在 init.inc.php 中执行的吗?
所以既然只有 uploads/include/config/config.inc.php 存在,当然就加载他了

你#2的描述是正确的
如果你有 uploads/config/config.inc.php 文件,那么这个文件将被优先加载
也就是说,你可以用这种方法干预应用系统的行为

下面是用我的伪代码描述require请求文件的处理,看对否:
相对路径:前面带./或者../的路径,如'./include/init.inc.php'
伪相对路径:前面不带./或者../且又不是绝对路径的路径,如'config/config.inc.php'
当前工作目录:web环境下,即入口文件所在目录

if(path为绝对路径){    file_path=path;}else if(path为相对路径){    file_path=conbine(当前工作目录,path);}else{    //伪相对路径    dir_list=include_path;    dir_list.add(当前工作目录);    dir_list.add(调用语句所在目录);    foreach(dir_list as dir){        temp_path=conbine(dir,path);        if(temp_path存在){            file_path=temp_path;            return;        }    }}
登录后复制

访问index.php页时
require 'config/config.inc.php';
其实生效的是
file_path=conbine(调用语句所在目录,path)
这里调用语句所在目录,即init.inc.php文件所在目录,从而正确找到文件。

是的,是这样的

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

热门话题

Java教程
1662
14
CakePHP 教程
1418
52
Laravel 教程
1311
25
PHP教程
1261
29
C# 教程
1234
24
如何在 Google Docs 中插入目录 如何在 Google Docs 中插入目录 Apr 13, 2023 pm 08:16 PM

无论是文章、论文还是教程,任何文档的主要亮点都是标题,当然还有目录。它描述了文档的大纲结构,以便用户可以到达他们期待从文档中读取的位置和内容。将目录添加到大多数文档中以使它们看起来更专业也是一种最佳实践。如今,一切都在网上进行,人们使用谷歌文档来创建大多数文档。许多用户仍然不确定如何在 google 文档中插入或添加目录。因此,我们提出了这篇文章来解释如何在谷歌文档中创建或插入目录。如何在 Google Docs 中插入目录第 1 步:点击此处访问 Google Docs 在线版。第 2 步:如

vue3+vite:src使用require动态导入图片报错怎么解决 vue3+vite:src使用require动态导入图片报错怎么解决 May 21, 2023 pm 03:16 PM

vue3+vite:src使用require动态导入图片报错和解决方法vue3+vite动态的导入多张图片vue3如果使用的是typescript开发,就会出现require引入图片报错,requireisnotdefined不能像使用vue2这样imgUrl:require(’…/assets/test.png’)导入,是因为typescript不支持require所以用import导入,下面介绍如何解决:使用awaitimport

使用java的File.isDirectory()函数判断文件是否存在且为目录类型 使用java的File.isDirectory()函数判断文件是否存在且为目录类型 Jul 24, 2023 pm 06:57 PM

使用java的File.isDirectory()函数判断文件是否存在且为目录类型在Java编程中,经常会遇到需要判断一个文件是否存在且为目录类型的情况。Java提供了File类来操作文件和目录,其中的isDirectory()函数可以帮助我们判断一个文件是否是目录类型。File.isDirectory()函数是File类中的一个方法,其作用是判断当前Fil

PHP函数介绍—rename(): 重命名文件或目录 PHP函数介绍—rename(): 重命名文件或目录 Jul 25, 2023 pm 12:10 PM

PHP函数介绍—rename():重命名文件或目录介绍:在PHP中,rename()函数用于重命名文件或目录。它提供了一种简单的方法来更改文件或目录的名称。无论是单个文件还是整个目录,都可以使用这个函数进行重命名操作。通过指定源文件或目录的名称以及目标名称,可以轻松地完成重命名过程。语法:boolrename(string$source,str

linux怎么查看目录是否为空 linux怎么查看目录是否为空 Mar 20, 2023 am 10:17 AM

linux查看目录是否为空的方法:1、进入linux终端;2、通过执行“res=`ls -A $dir` if [ -z $res ];then echo "$dir ..."else echo "$dir ..."fi”方法判断目录是否为空即可。

require的用法有哪些 require的用法有哪些 Nov 27, 2023 am 10:03 AM

require用法:1、引入模块:在许多编程语言中,require用于引入外部模块或库,以便在程序中使用它们提供的功能。例如,在Ruby中,可以使用require来加载第三方库或模块;2、导入类或方法:在一些编程语言中,require用于导入特定的类或方法,以便在当前文件中使用它们;3、执行特定任务:在一些编程语言或框架中,require用于执行特定的任务或功能。

PHP中的glob()函数用于查找文件或目录 PHP中的glob()函数用于查找文件或目录 Nov 18, 2023 pm 06:17 PM

PHP中的glob()函数用于查找文件或目录,是一种强大的文件操作函数。它可以根据指定的模式匹配,返回文件或目录的路径。glob()函数的语法如下:glob(pattern,flags)其中,pattern表示要匹配的模式字符串,可以是一个通配符表达式,如*.txt(匹配以.txt结尾的文件),或者是具体的文件路径。flags是一个可选参数,用于控制函数

使用path/filepath.Dir函数获取文件路径的目录部分 使用path/filepath.Dir函数获取文件路径的目录部分 Jul 27, 2023 am 09:06 AM

使用path/filepath.Dir函数获取文件路径的目录部分在我们的日常开发过程中,经常会涉及到文件路径的处理。有时候,我们需要获取文件路径的目录部分,即文件所在文件夹的路径。在Go语言中,可以使用path/filepath包提供的Dir函数来实现这个功能。Dir函数的签名如下:funcDir(pathstring)stringDir函数接收一个字

See all articles