Структура файла:
app/
- index.php
- core -> header.php, setup.php
- img -> ...
- lib -> css->stylesheet.css, js->script.js
у меня есть header.php
файл, содержащий ссылку на файлы CSS и JS.
Это выглядит так:
<link rel="stylesheet" href="lib/css/stylesheet.css"/>
<script src="lib/js/script.js" type="text/javascript"></script>
Мне нужно включить header.php
в двух других файлах: index.php и setup.php.
Файл прекрасно загружается в index.php
поскольку app/lib/css/stylesheet.css
а также app/lib/js/script.js
существовать.
В случае загрузки из setup.php
, он будет искать файл внутри каталога 'app/core/lib/css ... and js ... '
,
Я попытался решить эту проблему, используя абсолютный путь, используя что-то вроде:
$path = realpath($_SERVER['DOCUMENT_ROOT']);
и добавив его в теги ссылки и скрипта в header.php
Проблема в том, что Windows не может получить доступ к локальным ресурсам.
Как мне решить эту проблему? Заранее спасибо.
Создайте файл config.php с настройками, такими как
<?php
$webPath = 'http://example.com/';
$jsPath = $webpath . 'lib/js/';
$cssPath = $webPath . 'lib/css/';
Затем включите config.php во все ваши точки входа. Точка входа здесь — index.php и setup.php
Как только вы это сделаете, header.php должен иметь простой код:
<link rel="stylesheet" href="<?= $cssPath ?>stylesheet.css"/>
<script src="<?= $jsPath ?>script.js" type="text/javascript"></script>
Вы должны включить ваши файлы, будь то файлы .js или .css, используя протокол http: //.
Вы можете определить константу в вашем конфигурационном файле, как показано ниже:
define('SITE','http://'.$_SERVER['HTTP_HOST'].'/<project_name>/');
Теперь вы можете использовать константу SITE в header.php, как показано ниже:
<link rel="stylesheet" href="<?php echo SITE;?>lib/css/stylesheet.css"/>
<script src="<?php echo SITE;?>lib/js/script.js" type="text/javascript"></script>
Надеюсь, это поможет вам. 🙂