dirname(__FILE__)
両方とも__DIR__
同じで、__DIR__
PHP5.3が付属しています
これらは、「呼び出されたファイルのパス」を示すために使用されます。
URL:http://localhost/test/a.php
DIR:--NIX
/var/www/test/a.php
- 勝つ
D:\ lamp \ www \ test \ a.php
//a.phpの内部
<?php
エコー__DIR__;
Linuxでこれを提供します:/var/www/test
したがって、すべてのプロジェクトで構成パラメーターが必要な場合は、config.phpで定義し、両方のファイル名を含める必要がある場所で使用してください。
./
config.php
index.php
header.php
footer.php
/ lib
foo.php
/ tmp
bar.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">