[英]problem with using dirname(__FILE__ ,2) in php
我嘗試使用 dirname( FILE ,2)
我在“public”目錄中有 index.php 文件
Project
|--app
--config
|--init.php
--public
|--css
--js
--index.php
--resources
|--inc
--langs
--favicon.ico
在index.php 中
<?php
$pageTitle = "Home";
define('__BASEDIR__', dirname(__FILE__ ,2) );
echo __BASEDIR__ . '<br>';
require_once (__BASEDIR__ . '/config/init.php');
?>
此打印: ...\\xampp\\htdocs\\project
在init.php 中:
<?php
$templ = __BASEDIR__ . '/resources/inc/';
$lang = __BASEDIR__ . '/resources/langs/';
$css = __BASEDIR__ . '/public/css/';
$js = __BASEDIR__ . '/public/js/';
echo $templ .'<br>';
echo $lang .'<br>';
echo $css .'<br>';
echo $js .'<br>';
require_once $templ . 'header.php';
require_once $templ . 'navbar.php';
它顯示在瀏覽器中
...\xampp\htdocs\project
...\xampp\htdocs\project/resources/inc/
...\xampp\htdocs\project/resources/langs/
...\xampp\htdocs\project/public/css/
...\xampp\htdocs\project/public/js/
注意這個...\\project/.... /* backslash */
瀏覽器找不到文件(style.css、script.js....)
首先,如果斜線的差異困擾你,你可以像這樣使用DIRECTORY_SEPARATOR
設置你的路徑
從
$templ = __BASEDIR__ . '/resources/inc/';
到
define('DS', DIRECTORY_SEPARATOR);
$templ = __BASEDIR__.DS.'resources'.DS.'inc'.DS;
其次,您將無法使用該相對路徑來加載 js 和 css 文件等瀏覽器資源。 您需要查看絕對路徑。
示例:假設您在 Windows 上,路徑$templ
將沿着這些行C:\\xampp\\htdocs\\project\\public\\css\\file.css
這將無法加載您的瀏覽器資源。 如果您的文檔根目錄是C:\\xampp\\htdocs\\project\\
您將需要使用/public/css/file.css
來加載您的 css 或 js 文件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.