Так вот, я впервые создаю тестовый сайт с xampp. Сначала у меня были все мои php-файлы в одной папке и совсем недавно решили организовать данные (да, задним числом я должен был начать с организованной структуры папок.) В любом случае, у меня есть моя настройка:
«[]» подразумевает, что это ПАПКА
Установлен на моем диске C: \
  [XAMPP] 
  – [HTDOCS] 
  – [QMS] 
  — [rev3] 
  —- [CSS] 
  —- [УД] 
  —- [ППН] 
  —-[авторизоваться] 
  —- index.php 
  —- header.php 
  —- config.php 
В моем файле config.php я попытался определить корневой путь (это может быть ошибка):
$path = $_SERVER['DOCUMENT_ROOT'] . "/QMS/rev3/"; ,
Затем в моем файле header.php у меня есть:
 <?php require $_SERVER['DOCUMENT_ROOT'] . "/QMS/rev3/config.php"; include $_SERVER['DOCUMENT_ROOT'] . "/QMS/rev3/login/session.php"; ..... ?> HTML - located in the <head> section <link rel='stylesheet' type='text/css' href='<?php echo $path . "css/searchBar.css"; ?>'/> <link rel='stylesheet' type='text/css' href='<?php echo $path . "css/tables/filtergrid.css"; ?>'/> <script type="text/javascript" language="javascript" src='<?php echo $path . "js/jquery.dataTables.js" ?>'></script> <script type="text/javascript" language="javascript" src='<?php echo $path . "js/jquery.loader.js" ?>'></script> ... MANY OTHER scripts and stylesheets. 
, Мой index.php:
 require $_SERVER['DOCUMENT_ROOT'] . "/QMS/rev3/header.php"; 
Когда я запускаю это в Chrome, я получаю следующие ошибки для ВСЕХ моих скриптов и таблиц стилей (всего 19 ошибок):
 "NOT ALLOWED TO LOAD LOCAL RESOURCE file///C:/xampp/htdocs/QMS/rev3/ ......etc..." 
Мой сайт работал отлично, когда все мои файлы находились в одной папке, и я не использовал SERVER ['DOCUMENT_ROOT'], но теперь я понятия не имею, что делать … любой совет?
,
НЕ ДОПУСКАЕТСЯ ЗАГРУЗИТЬ МЕСТНЫЙ РЕСУРС
  URL-адрес, который вы используете в тегах <a> , <link> , <script> и т. Д., Должен относиться к корню document, например: 
 <link rel="stylesheet" type="text/css" href="/QMS/rev3/css/searchBar.css" /> 
Не путайте дорожки на диске с url , они две совершенно разные вещи 🙂
Консультирование по определению корневого пути
  Я рекомендую не полагаться на переменную $_SERVER['DOCUMENT_ROOT'] , но определить корневую папку, подобную этой (в config.php ): 
 define('ROOT_PATH', __DIR__); 
  У вас будет константа с именем ROOT_PATH которая будет содержать C:\xampp\htdocs\QMS\rev3 (без трейлинга / ). 
Теперь вы можете делать такие вещи, как:
 require ROOT_PATH . '/header.php'; 
  Путь в ROOT_PATH отличается от корня document.  Если вы действительно хотите использовать document-root, сделайте это (чтобы ROOT_PATH затем содержал C:\xampp\htdocs ): 
 define('ROOT_PATH', __DIR__ . '/../..'); # ... require ROOT_PATH . '/QMS/rev3/header.php'; 
Канонизованный абсолютный путь
  Было бы разумно использовать realpath() как указано в Capsule (развернуть все символические ссылки и разрешить ссылки на /./ , /../ и extra / characters): 
 $rootPath = __DIR__ . '/../..'; # or just __DIR__ $realPath = realpath($rootPath); define('ROOT_PATH', $realPath ?: $rootPath); 
  Если realpath() не может разрешить путь, он вернет false , поэтому есть небольшая проверка. 
  Если, удалив / из этой строки 
 require $_SERVER['DOCUMENT_ROOT'] . "/QMS/rev3/header.php"; 
  вам удастся включить файл header.php, вам также нужно изменить $path для: 
 $path = $_SERVER['DOCUMENT_ROOT'] . "QMS/rev3/"; 
  В общем случае, если вы используете config.php для установки вашего $path и вы включаете его на все ваши страницы, как вам следует, используйте переменную $path а не $_SERVER['DOCUMENT_ROOT'] . "QMS/rev3/  $_SERVER['DOCUMENT_ROOT'] . "QMS/rev3/ . Таким образом, вы можете легко использовать свой код. 
О НЕ ДОПУСКАЕМОЕ ЗАГРУЗИТЬ ЛОКАЛЬНЫЙ РЕСУРС , взгляните на этот ответ
Не используйте document_root для определения основного пути. Поместите эту строку кода в свой config.php
 $path = rtrim(dirname(__file__),"/")."/"; 
Теперь ваша переменная path имеет ваш корневой путь, включая ведущую косую черту (/). Вы можете использовать это.
Попробуйте «QMS / rev3 / header.php» без «/» в начале
Попробовав множество решений, я сделал это так, потому что он работает локально и онлайн. Вы можете определить переменную с таким путем, как это:
 $path = ""; if ($_SERVER['HTTP_HOST'] == "localhost") { $path = $_SERVER['DOCUMENT_ROOT']."/mysite"; } else { $path = $_SERVER['DOCUMENT_ROOT']; } include_once($path.'/include/config.php');