我可以使用点和反斜杠代替 dirname() 吗?


Can I use dot and backslash instead of dirname()?

我有这条路:

require dirname(dirname(dirname(__FILE__)))."/out/DBconnection.php";

我想知道如何用点和反斜杠来写它。我是这样写的,但它不起作用:

require "../../../inaccessible/dbh_conn.php";

怎么了?

注意:我不想使用__DIR__ .

检查差异:

echo realpath(dirname(dirname(dirname(__FILE__)))."/out/DBconnection.php");
echo realpath("../../../inaccessible/dbh_conn.php")

我认为您有一个额外的..(我假设inaccessible/dbh_conn.phpout/DBconnection.php../..的相对路径相同)。

路径解析(假设当前脚本位于/1/2/3/4.php):

目录

  1. dirname(dirname(dirname("/1/2/3/4.php")))
  2. dirname(dirname("/1/2/3/"))
  3. dirname("/1/2/")
  4. "/1/"

..

  1. "/1/2/3/../../../"
  2. "/1/2/../.."
  3. "/1/../"
  4. "/"