dirname(__FILE__)
两者__DIR__
都相同,并__DIR__
附带 PHP 5.3
这些用于指示“它们调用的文件的路径”。
网址:http://localhost/test/a.php
目录:--NIX
/var/www/test/a.php
- 赢
D:\灯\www\test\a.php
// a.php 在里面
<?php
回声 __DIR__;
在 linux 上给你这个:/var/www/test
因此,如果您在所有项目中都需要一个配置参数,只需在您的 config.php 中定义它并在您想要包含的文件名的地方使用它。
./
配置文件
索引.php
头文件.php
页脚.php
/lib
foo.php
/tmp
酒吧.php
./config.php
define('ROOT', __DIR__ .'/');
./index.phpinclude_once(ROOT .'header.php'); ... include_once(ROOT .'footer.php');
即,在tmp dir
./tmp/bar.phpinclude_once(ROOT .'lib/foo.php');
更新
// config.php
<?php
define("ROOT", __DIR__ ."/");
所以,我们用这个index.php
来包含banner.php
和banner.php
等待./banners/banner.php
;
// index.php and the very first line!
<?php
include_once("config.php");
?>
// some html stuff
// ...
<?php include_once(ROOT ."banners/banner.php"); ?>
// some more html stuff
// ...
因此,您应该首先将 config.php 包含在您需要的位置。
我认为,就需要而言,这是基本的...
更新
所以你的问题不是PHPinclude
系统,而是问题,无论如何...... :)
如果您的图像路径正在更改(因此不固定),您可以这样做;
// config.php
define("ROOT", __DIR__ ."/");
define("HTTP", ($_SERVER["SERVER_NAME"] == "localhost")
? "http://localhost/your_work_folder/"
: "http://your_site_name.com/"
);
// banner.php
<img src="<?php print HTTP; ?>images/banner.gif">