我在 HTML 中有这个代码可以正常工作:
<link href="/mywebsite/styles.css" rel="stylesheet" type="text/css"/>
但是,PHP 中的这段代码不会:
require('/mywebsite/db.php');
db.php 和styles.css 都在同一个目录下。我可以用:
require(dirname(__DIR__) . '/db.php');
但这看起来相当丑陋。我错过了一些明显的东西吗?
最佳答案
Am I missing something obvious?
是的。 :)
require('/mywebsite/db.php');
/
是 系统根 ( C:\
如果您是 Windows 用户)。它与您的站点所在的 URL 无关,而是与站点运行的系统相关。我猜你的网站保存在类似 /users/aygosis/webroot/index.php
的地方. /mywebsite/db.php
您的系统上可能不存在。require dirname(dirname(__FILE__)) . DIRECTORY_SEPARATOR . 'db.php'
实际上是做到这一点的好方法。您还可以在一个随处可用的文件中建立一个基础,并使所有包含相对于它:
define('ROOT', dirname(__FILE__) . DIRECTORY_SEPARATOR);
...
require ROOT . 'db.php';
关于php - 如何在PHP中找到父目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5228171/