Установите константу для повторного использования HTML - PullRequest
0 голосов
/ 09 сентября 2018

Я пытаюсь установить WWW_ROOT для повторного использования HTML-кода на разных страницах. Это пример user.php, использующего заголовок, где CSS-файлы не найдены - 404 (не найдено), и я получил Notice: Undefined variable: project_end in /Applications/XAMPP/xamppfiles/htdocs/lpweb/assets/php/initialize.php on line 11

Структура папок

>localhost
  >lpweb
       >index.php
       >pages
          >users.php
       >assets
          >php
             >initialize.php
             >header.php
          >css
             >bootstrap.min.css

initialize.php

<?php
  define("PHP_PATH", dirname(__FILE__));
  define("ASSETS_PATH", dirname(PHP_PATH));

  $public_end = strpos($_SERVER['SCRIPT_NAME'], '/lpweb') + 7;
  $doc_root = substr($_SERVER['SCRIPT_NAME'], 0, $project_end); //line 11
  define("WWW_ROOT", $doc_root);
?>

header.php

<link rel="stylesheet" media="all" href="<?php echo WWW_ROOT . 'assets/css/bootstrap.min.css'; ?>"> />

users.php

<?php require_once('../assets/php/initialize.php'); ?>
<?php include(PHP_PATH . '/header.php'); ?>

1 Ответ

0 голосов
/ 09 сентября 2018

Вы смешиваете $ public_end и $ project_end

Также после просмотра вашего кода от GitHub я считаю, что это будет работать для вас.

define("WWW_ROOT",$_SERVER['REQUEST_SCHEME']."://".$_SERVER['HTTP_HOST'].rtrim($_SERVER['REQUEST_URI'],'/'));

Кроме того, вы можете использовать относительный путь для ссылки на файлы CSS, которые облегчат вашу жизнь

<link rel="stylesheet" media="all" href="assets/css/bootstrap.min.css" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...