可能完整的解决方案如下所示:
define('IS_WINDOWS', (stripos(PHP_OS,'WIN') === 0));
$webserver_root = dirname(dirname(__FILE__));
if (IS_WINDOWS) {
//convert windows path separators
$webserver_root = str_replace("\\","/",$webserver_root);
}
$web_root = substr($webserver_root, strlen($_SERVER['DOCUMENT_ROOT']));
// Ensure web_root starts with a path separator
if (preg_match("/^[^\/]/",$web_root)) {
$web_root = "/".$web_root;
}
$host = ($_SERVER['HTTPS'] ? "https://" : "http://") . $_SERVER['HTTP_HOST'];
$path = $host.$web_root.'/bla/bla';
如果您目前正在使用 localhost(在 Windows 机器上),请首先检查 PHP_OS,然后创建绝对路径并将其用于外部 JS。