。
dirname(__FILE__)
と__DIR__
はどちらも同じで、__DIR__
にはPHPが付属しています5.3
これらは、「呼び出したファイルのパス」を示すために使用されます。
URL: http://localhost/test/a.php
DIR: --NIX
/var/www/test/a.php
--WIN
D:\lamp\www\test\a.php
// a.php's inside
<?php
echo __DIR__;
は、Linux上で使用するこの与える:あなたはすべてのプロジェクト内のconfigパラメータが必要な場合は、ちょうどあなたのconfig.phpでそれを定義し、ファイル名の両方を配置したい場所にそれを使用し、
/var/www/test
だから、含まれます。 tmp dir
./tmp/barでそれを使用して
./
config.php
index.php
header.php
footer.php
/lib
foo.php
/tmp
bar.php
./config.php define('ROOT', __DIR__ .'/');
./index.php include_once(ROOT .'header.php'); ... include_once(ROOT .'footer.php');
すなわち、。PHP include_once(ROOT .'lib/foo.php');
UPDATE
// config.php
<?php
define("ROOT", __DIR__ ."/");
そこで、我々はbanner.php
とbanner.php
が./banners/banner.php
で待っている含めるindex.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を含める必要があります。私は、これは限り必要に応じて基本だと思います
...
は、だからあなたの問題は、とにかくinclude
システムが、質問を、PHPされていない
UPDATE ... :)
イメージパスが変更されている(固定されていないので)場合は、このようにすることができます。
// 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">
あなたはどのフレームワークを使用したり、プロジェクトの生のPHPでいますか? –