Javascript 为重用HTML设置常量

Javascript 为重用HTML设置常量,javascript,php,node.js,html,Javascript,Php,Node.js,Html,我试图设置一个WWW_根目录,以便在不同的页面中重用HTML代码。这是一个使用头的users.php示例,其中未找到CSS文件-404(未找到),我在第11行获得了注意:未定义变量:project_end in/Applications/XAMPP/xamppfiles/htdocs/lpweb/assets/php/initialize.php 文件夹结构 >localhost >lpweb >index.php >pages

我试图设置一个WWW_根目录,以便在不同的页面中重用HTML代码。这是一个使用头的users.php示例,其中未找到CSS文件-404(未找到),我在第11行获得了
注意:未定义变量:project_end in/Applications/XAMPP/xamppfiles/htdocs/lpweb/assets/php/initialize.php

文件夹结构

>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);
?>
<link rel="stylesheet" media="all" href="<?php echo WWW_ROOT . 'assets/css/bootstrap.min.css'; ?>"> />
<?php require_once('../assets/php/initialize.php'); ?>
<?php include(PHP_PATH . '/header.php'); ?>

header.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);
?>
<link rel="stylesheet" media="all" href="<?php echo WWW_ROOT . 'assets/css/bootstrap.min.css'; ?>"> />
<?php require_once('../assets/php/initialize.php'); ?>
<?php include(PHP_PATH . '/header.php'); ?>

您正在混合使用$public\u end和$project\u 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" />


它怎么不起作用?它是否给出了一个错误(比如
WWW\u ROOT不存在
)?
WWW\u ROOT
是否包含错误的路径?样式表的实际
href
值是多少?您希望它是什么?请确保启用了错误报告。一旦验证,请告诉我们您是否有任何错误被抛出和/或日志中的某些内容。您发布的内容中没有包含错误处理。检查HTML源代码显示的内容。这与javascript和node.js有什么关系?使用的这些标记没有代码。@rickdenhaan找不到CSS,因为WWW\u ROOT重定向到localhost而不是lpweb:
GEThttp://localhost/css/bootstrap.min.css 404(未找到)
您正在混合$public\u end和$project\u end。我不想更改相对路径,因为我有几个文件夹和子文件夹,所以在任何地方都包含相对路径都会让人头疼。我对问题进行了更详细的编辑。您是否尝试了我给出的最后一步?定义(“WWW_ROOT”、rtrim($_SERVER['REQUEST_SCHEME']):/“$_SERVER['HTTP_HOST'])str_replace(basename($_SERVER['REQUEST_URI'])、'''、$_SERVER['REQUEST_URI'])、'/');你有什么问题?好的,这很有帮助。我已经编辑了答案。请使用that@AntonioAndr那你为什么不帮我投票并接受答案呢?嗨,Rinsad,正确的答案是“你把$public_end和$project_end混在一起了”。请把它作为一个答案,我马上就做!