我有一个具有以下目录结构的网站:
index.php
connections/database.php
contacts/details.php
inc/functions.php
index.php、database.php 和 details.php 页面都需要 functions.php 页面。我在这些页面中包含以下内容:
$path = dirname(__DIR__);
// looks like this: /Library/WebServer/Documents/clients/acme
require_once $path.'/inc/functions.php';
这在我的 Mac 开发服务器上运行良好。我刚刚将文件上传到运行 IIS/Windows 2008 的生产服务器,所以我知道会有一些路径问题。
我不得不更改代码以包含 functions.php 文件:
$path = dirname(__DIR__);
// looks like this: C:\inetpub\wwwroot\client_sites\acme
require_once $path.'\inc\functions.php';
到目前为止,这一切都有效,但我想知道是否有一种简单的方法可以使这种动态化,因此我不必根据服务器环境修改字符串以获得正确的反斜杠或正斜杠?我有时会忘记,否则客户端可能会更改服务器,然后这会中断并需要手动更改路径。
无论服务器操作系统环境如何,有没有办法自动处理路径?