"." 在 php 中指当前路径,这个“当前路径” 与 php 是怎样执行的有关
假设 web 目录是这样的
/path/to/web/ |- index.php |- config |- main.php
index.php 中代码是这样的:
<?php // index.php $base_dir = dirname(__FILE__); echo $base_dir, "\n"; echo '"." in index.php is ', realpath('.'), "\n"; require $base_dir . '/config/main.php'; ?>
main.php 中代码是这样的:
<?php // config/main.php echo '"." in main.php is ', realpath('.'), "\n"; ?>
如果 index.php 是通过 web 访问执行的,则 realpath('.') 是这个文件所在的路径, 不管 realpath('.') 是在 index.php 中还是 index.php require 的其他的文件中;
如果 index.php 是 cli 下执行的,则 realpath('.') 是 current work direcotry 也就是 php 执行所在的目录,与 index.php 文件所在目录无关
php 的 include_path