2016-11-27 85 views
0

好了,所以這是我的文件夾佈局:的頁眉,頁腳和插件文件中設置正確的路徑

Car 
    -bower_components 
    -includes 
    -logs 
    -public 
    --admin 
    --css 
    --fonts 
    --img 
    --js 
    -vendor 

在根文件夾我有paths.php

<?php 

//$glock=$_SERVER['HTTP_HOST']; 


//if(!defined('ROOT')){define('ROOT',$_SERVER["DOCUMENT_ROOT"]);} 
if(!defined('ROOT')){define('ROOT',__DIR__.'/');} 
if(!defined('INCLUDES')){define('INCLUDES',ROOT.'includes');} 
if(!defined('LOGS')){define('LOGS',ROOT.'logs');} 
if(!defined('ADMIN')){define('ADMIN',ROOT.'public/admin');} 
if(!defined('CSS')){define('CSS',ROOT.'public/css');} 
if(!defined('FONTS')){define('FONTS',ROOT.'public/fonts');} 
if(!defined('IMG')){define('IMG',ROOT.'public/img');} 
if(!defined('JS')){define('JS',ROOT.'public/js');} 

?> 

我使用模板系統這樣我就可以從任何地方調用我的CSS和HTML文件。我一直未能將我的head-tag.php文件(在includes中)調用到我的index.php文件中。這裏是我的索引文件:

<?php 

include('paths.php'); 

echo "<html lang='en'>"; 
echo " <head>"; 

     include('includes/head-tag.php'); 
echo" </head>"; 

echo " <body>"; 
echo " <header>"; 
     include('includes/header.php'); 
echo " </header>"; 
?> 
<main>... 

這裏是head-tag.php

 ... 

     <!--Include all stylesheetes--> 
     <link href=<?php echo CSS."/main.css"; ?> rel="stylesheet"> 
     <link href=<?php echo CSS."/bootstrap.css"; ?> rel="stylesheet"> 
     <link href=<?php echo CSS."/carousel.css"; ?> rel="stylesheet"> 
     <link href=<?php echo CSS."/cars.css"; ?> rel="stylesheet"> 
     <link href=<?php echo CSS."/footer.css"; ?> rel="stylesheet"> 
     <link href=<?php echo CSS."/loader.css"; ?> rel="stylesheet"> 

     <!--DateTimePicker JS includes--> 
     <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.js"></script> 
     <script type="text/javascript" src="bower_components/moment/min/moment.min.js"></script> 
     <script type="text/javascript" src="bower_components/eonasdan-bootstrap-datetimepicker/build/js/bootstrap-datetimepicker.min.js"></script> 

我試過迴盪在我的head-tag.php文件的路徑,但它只是給我的文件目錄,而不是一個在服務器上生成「不允許加載本地資源」錯誤。我知道我在這裏做錯了事,但我不能把它搞砸。我一直在嘗試超過24小時。在我的paths.php文件中,我試過使用str_replace()來擺脫「C:/ ...」並將其替換爲「localhost:8080 ...」,但它不起作用,除非我做錯了,我不知道。有什麼建議麼?有些東西告訴我,我將不得不在我的head-tag.php file中再次定義路徑,這是我試圖避免的。

TL; DR 我怎麼head-tag.php呼應 「本地主機:8080 ......」,而不是文件:/// C:/ wamp64/WWW/...」

更新: 我八九不離十解決了這個最初的問題,但現在我有一個新的。我回答下面我自己的問題,並提出了新的問題。

回答

0

好,我八九不離十有點兒找到了解決辦法。在我的路徑文件,而不必if(!defined('ROOT')){define('ROOT',__DIR__.'/');},我現在有if(!defined('ROOT')){define('ROOT',dirname(dirname(htmlspecialchars($_SERVER['SERVER_NAME']))));} 。現在,當我嘗試從其他位置訪問頭文件時r不在根目錄下的php文件,它不起作用。我發現發生這種情況的原因是,它仍然決定了文件的根目錄,當我停止使用__DIR____FILE__時,我認爲該文件已經被刪除。那麼,如何將根文件夾設置爲常量,無論我從哪個文件/文件夾調用?