当前位置:  开发笔记 > 编程语言 > 正文

dot-slash对PHP的作用包括调用?

如何解决《dot-slash对PHP的作用包括调用?》经验,为你挑选了4个好方法。

A.这是做什么的?

require ("./file.php");

B.与此相比?

require ("file.php");

(它不是一个目录..这将是)

require ("../file.php");

Chris Lutz.. 48

./当前目录.它与大多数情况完全相同file.php,但在许多情况下(包含此内容),它不会检查PHP可能查找文件的任何标准位置,而检查当前目录.

从PHP文档(注意最后一句):

首先在相对于当前工作目录的每个include_path条目中查找包含文件,然后在当前脚本的目录中查找.例如,如果你的include_path是库,当前工作目录是/ www /,你包括include/a.php,那个文件中包含"b.php",b.php首先在/ www/libraries /中查找,然后在/网络/包含/.如果filename以./或../开头,则仅在当前工作目录中查找.


Ionuț G. Sta.. 8

第一个版本强制内部机制相对于...直接执行的文件包含文件.例如,你有

的index.php

// directly executed script (php -f index.php or from a browser)
include 'second.php';

second.php

// This is included relatively to index.php
// Actually, it is first searched relatively to include_path, then relatively
// to index.php
include './third.php';

third.php

// This is included relatively to second.php ONLY. It does not search
// include_path
return "foo";


danieltalsky.. 6

简答

你是对的,它不是一个目录.一个 .指的是您所在的目录,而..指的是父目录.

含义,./ file.php和file.php在PHP中功能相同.这是相关的文档页面:http: //us.php.net/manual/en/wrappers.file.php

更长的答案

然而,仅仅因为它们在这种情况下的工作方式相同并不意味着它们总是相同的.

当您在*nix shell环境中操作并键入可执行文件的名称时,shell将查找PATH目录,但它不会查找CWD或您当前所在的目录.

因此,如果您所在的目录中有一个名为myprogram.php的文件(这将是一个PHP CLI文件),您只需键入:

myprogram.php

程序是否可执行无关紧要.shell将在/ bin /,/ usr/bin/etc中查找您的文件,但它不会查找./或您所在的目录.

要在不将目录添加到PATH的情况下执行该程序,您需要键入

./myprogram

所以,真的,./更明确.这意味着,"你正在寻找的文件就在这里"而没有./意味着,"该文件应该是程序寻找文件的地方".



1> Chris Lutz..:

./当前目录.它与大多数情况完全相同file.php,但在许多情况下(包含此内容),它不会检查PHP可能查找文件的任何标准位置,而检查当前目录.

从PHP文档(注意最后一句):

首先在相对于当前工作目录的每个include_path条目中查找包含文件,然后在当前脚本的目录中查找.例如,如果你的include_path是库,当前工作目录是/ www /,你包括include/a.php,那个文件中包含"b.php",b.php首先在/ www/libraries /中查找,然后在/网络/包含/.如果filename以./或../开头,则仅在当前工作目录中查找.



2> Ionuț G. Sta..:

第一个版本强制内部机制相对于...直接执行的文件包含文件.例如,你有

的index.php

// directly executed script (php -f index.php or from a browser)
include 'second.php';

second.php

// This is included relatively to index.php
// Actually, it is first searched relatively to include_path, then relatively
// to index.php
include './third.php';

third.php

// This is included relatively to second.php ONLY. It does not search
// include_path
return "foo";



3> danieltalsky..:

简答

你是对的,它不是一个目录.一个 .指的是您所在的目录,而..指的是父目录.

含义,./ file.php和file.php在PHP中功能相同.这是相关的文档页面:http: //us.php.net/manual/en/wrappers.file.php

更长的答案

然而,仅仅因为它们在这种情况下的工作方式相同并不意味着它们总是相同的.

当您在*nix shell环境中操作并键入可执行文件的名称时,shell将查找PATH目录,但它不会查找CWD或您当前所在的目录.

因此,如果您所在的目录中有一个名为myprogram.php的文件(这将是一个PHP CLI文件),您只需键入:

myprogram.php

程序是否可执行无关紧要.shell将在/ bin /,/ usr/bin/etc中查找您的文件,但它不会查找./或您所在的目录.

要在不将目录添加到PATH的情况下执行该程序,您需要键入

./myprogram

所以,真的,./更明确.这意味着,"你正在寻找的文件就在这里"而没有./意味着,"该文件应该是程序寻找文件的地方".



4> Jeremy L..:

点斜杠强制仅在当前目录中找到文件,而不是另外搜索include_path设置中提到的路径.

推荐阅读
手机用户2402851335
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有