点斜杠对 PHP 包含调用有什么作用?
2022-08-30 12:26:29
一个。这是做什么的?
require ("./file.php");
B.与此相比?
require ("file.php");
(它不是 up-one-directory.. 这将是)
require ("../file.php");
一个。这是做什么的?
require ("./file.php");
B.与此相比?
require ("file.php");
(它不是 up-one-directory.. 这将是)
require ("../file.php");
./
是当前目录。它在很大程度上与 just 相同,但在许多情况下(包括这个),它不会检查 PHP 可能查找文件的任何标准位置,而是仅检查当前目录。file.php
从 PHP 文档中(请注意最后一句):
首先在相对于当前工作目录的每个include_path条目中查找要包含的文件,然后在当前脚本的目录中查找。例如,如果您include_path是库,当前工作目录是 /www/,您包含 include/a.php并且该文件中包含“b.php”,则 b.php 首先在 /www/libraries/ 中查找,然后在 /www/include/ 中查找。如果文件名以 ./ 或 .. 开头。/,它仅在当前工作目录中查找。
第一个版本强制内部机制包含相对于...直接执行文件。例如,您有
索引.php
// directly executed script (php -f index.php or from a browser)
include 'second.php';
第二.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';
第三.php
// This is included relatively to second.php ONLY. It does not search
// include_path
return "foo";