当前位置:首页 > 日记 > 正文

深入了解需求/包括PHP的连续推荐

深入了解需求/包括PHP的连续推荐
还有下面的问题:

include_path如何工作

如果有一个以上的include_path为了什么

在什么情况下include_path不工作

今天,我想对这个问题作一个全面的介绍。让我从一个例子开始。

目录结构如下:1.php 3.php根目录下刚刚2.php 3.php

在1.php:
复制代码代码如下所示:
< PHP
ini_set(include_path
需要(2);
>

在2.php:
复制代码代码如下所示:
< PHP
需要(3);
>

在根目录下,该3.php打印出根,在子目录子目录的目录打印3.php;

现在,我的问题来了:
1。在根目录下运行1.php时,输出将得到什么
2。运行在子目录上一级目录的1.php,输出将得到什么
三.如果当前目录的路径(即include_path = path_to_subdir)在include_path取消,将上述两个问题的输出
include_path PHP
当PHP符合指令的要求(_once) /包括(_once),它会先判断如下:
复制代码代码如下所示:
要包含的文件路径是绝对路径
如果是,它是直接包含和结束的。
如果没有,进入另一个逻辑(后多称,宏观扩展到_php_stream_fopen_with_path)来查找文件

其次,在_php_stream_fopen_with_path,以下就将作出判断:
复制代码代码如下所示:
要被包含的文件路径是相对路径(形状类似于文件、文件,而不是目录相对路径)
如果是这样的话,跳过include_path功能逻辑和解析相对路径直接(随后由一个单独的介绍)

据include_path和当前的可执行文件的路径,一个列表中选定的房源应。例如,要选择以下列表。
复制代码代码如下所示:
:path_to_subdir:current_script_dir

然后,要选择从头开始的列表,根据default_dir_separator(本文的环境:选择一个路径)中的列表,然后包括在尝试路径附加文件名称。如果成功返回,否则包含,继续在所选路径旁边。
到目前为止,我们已经能够回答我在开始时提出的3个问题了。
1。因为在根目录下执行的,所以它包含的2.php 1.php,第二候选路径include_path发挥作用(path_to_subdir),path_to_subdir / 2.php被发现,包含在2.php时间3.php,当前的工作目录是根,所以当包含有3.php,选择路径include_path第一。(当前工作目录)查找匹配文件,因此输出是root。
2。同样的1,但当前路径的子目录,所以输出目录下。
3,因为有include_path没有电流路径,所以在根目录下运行时,当2.php包含3.php,path_to_subdir扮演了一个角色,所以根目录下的子目录或将输出。
如果include_path排空2.php,
复制代码代码如下所示:
< PHP
ini_set(include_path
需要(3);
>

然后将current_script_dir,这次current_script_dir是2.php路径,因此它会输出的子目录。
目录的相对路径
在目录的相对路径的情况下,相对路径的基总是当前工作目录。
为了解释在目录的相对路径的情况下,我们看看上面的例子,或目录结构,只有1.php成:
复制代码代码如下所示:
< PHP
ini_set(include_path
要求(, /子目录/ 2。PHP );
>

2.php变成:
复制代码代码如下所示:
< PHP
需要(3);
>

如果在根目录下执行,2.php 3.php将寻求在当前目录的相对路径找到,所以输出是根,如果是在子目录1.php目录执行(PHP - F。 / 1。PHP),将辞职。 / / 2.php发现子目录在子目录不。
后记
1。因为,业绩将相关条件下的include_path和相对路径的使用和查找的次数,最坏的情况下,如果你有10 include_path,那么最有可能的重试11次找到要包含的文件,以便在使用绝对路径绝对路径的最佳使用。
2,因为目录的相对路径的则始终是当前工作路径。如果它被使用,它需要的是实际的部署路径相关,所以很少有实际用途(当然,有模块,可完成chdir)。
3,在模块化的系统设计中,一般应该使用绝对路径获取模块的部署路径(目录(__file__)和PHP5.3以后提供__dir__常数)在模块。

相关文章

MySQL中字段名与保留字冲突的解决

MySQL中字段名与保留字冲突的解决

冲突,字段名,保留字,解决方案,电脑软件,我们知道通常的SQL查询语句是编写的。 复制代码代码如下:从表中选择; 这当然不是问题,但是如果字段名来自哪里呢 复制代码代码如下:从表中选择; 如果这是真的,那么当字段名称与MySQL保留字冲突时,您就可…

什么是pull.exe-使用拉

什么是pull.exe-使用拉

电脑软件,pull,exe,点评:pull.exe是微软微软网络应用程序 进程文件:拉或pull.exe 过程名称:推送客户端 过程类别:安全风险的过程 英文描述: pull.exe是一个使用微软的Web应用程序,Web,铸型。又被称为玉。 中文参考: pull.exe是微软微软网络应用程…

一些PHP的危险函数(disable_functio

一些PHP的危险函数(disable_functio

危险,函数,电脑软件,PHP,disable_functions,Phpinfo() 功能描述:输出php环境信息以及相关模块、web环境等信息。 危险等级:中等 Passthru() 功能描述:允许外部程序执行和退出,类似于执行()。 危险等级:高 (行政) 功能描述:允许执行外部程序(如UNIX shell…

Linux读取命令的介绍和使用

Linux读取命令的介绍和使用

命令,读取,电脑软件,Linux,评论:本文主要介绍了linux读命令的介绍和应用实例,如基本阅读、定时输入、阅读文件等,需要朋友参考。 首先,概述 读命令接收标准输入(键盘)的输入,或其他文件描述符的输入。当你得到输入时,读命令将数据放入标准变量中。…

修改mysql数据库添加日期格式列的

修改mysql数据库添加日期格式列的

日期格式,数据库,修改,方法,电脑软件,导入java。SQL *; 进口java.text.dateformat; 数据库查询 公共课selecttable { 字符串dbdriver =COM。MySQL JDBC驱动的。; 字符串=JDBC数据库:MySQL: / / /本地:3306 SSS ; / /根据实际情况的变化 字符串; 字…

Linux使用SU来切换用户提示以进行

Linux使用SU来切换用户提示以进行

提示,身份验证,用户,电脑软件,Linux,点评:刚刚安装了虚拟机,用ubtun系统,进入操作系统,在简单的尝试,发现关机命令无法关闭,而苏命令不能执行,提示认证失败。 这个问题的原因是,ubtun系统默认不启用root用户。它需要我们手动操作,或者在命令行界面…

对isbmgr.exe-isbmgr的作用是什么

对isbmgr.exe-isbmgr的作用是什么

作用,电脑软件,isbmgr,exe,评论:详细的介绍了isbmgr.exe - isbmgr过程 进程文件:isbmgr或isbmgr.exe 进程名称:索尼ISB效用 过程类别:安全风险的过程 英文描述: isbmgr.exe是一个过程,属于索尼ISB效用。这,ISB,它也被称为对与错。 中文参考: 对不…

linux命令导入使用介绍

linux命令导入使用介绍

命令,电脑软件,linux,评论:在Linux中,最简单的屏幕裁剪工具是导入。 向您介绍几种常见的导入命令: 1进口mypicture.jpg 然后您可以使用鼠标选择的范围。 2睡眠5;进口mypicture.jpg 等待5秒后,截取鼠标选择的范围。 3进口框架mypicture.jpg…

如何保存和携带安全卡

如何保存和携带安全卡

电脑软件,强烈建议您保留绑定QQ账号的保密卡,如果您的网站没有固定,那么您可能需要携带保密安全卡。 对于不同形式的保密卡,我们的建议如下: 1、实体版的秘密安全卡可以放在钱包内携带,也可以使用相机手机盒数码拍照,永久保存在手机上; 2,电子安…

PDF注释的快速删除

PDF注释的快速删除

删除,注释,快速,电脑软件,PDF,问题: 经常使用福昕PDF阅读PDF格式的文件,并在优先考虑的地方,用来做注释。现在,我的同事也要看的PDF文件。我不想让他看到这个文件上的注释。我应该如何删除PDF文档中的注释 答案uff1a 可以使用虚拟打印方法。 …

Linux操作系统目录结构的由来

Linux操作系统目录结构的由来

操作系统,目录结构,由来,电脑软件,Linux,点评:例如,有子目录 /本的根目录下,这是用来存储二进制程序。然而, / usr目录下有 / usr /箱,和 / usr /局部/箱,以及二进制程序;有些系统甚至有 /选择/箱。它们之间的区别是什么 UNIX(包括Linux)的初学者常…

winsocks.exe的过程是怎样的

winsocks.exe的过程是怎样的

的是,过程,是怎样,电脑软件,winsocks,评论:winsocks.exe 进程文件:winsocks或winsocks.exe 进程名称:winsocks间谍 过程类别:安全风险的过程 英文描述: winsocks.exe是一个广告间谍软件。此过程监视您的浏览习惯,并将数据分发给作者服务器进行…