LoginSignup
7
7

More than 5 years have passed since last update.

`require_once`でのファイル読み込みを改善した[メモ]

Last updated at Posted at 2014-07-12

require_onceでファイルを読み込む時に普段はファイルのパスを
そのまま直書きしてたがパスを変更すると読み込まない(当然www)のが不満で
改善してみた。。。
(この場合、読み込んでるファイルと読み込まれるファイルは同じディレクトリにないといけないけど)

失敗例
require_once($_SERVER['DOCUMENT_ROOT']. dirname($_SERVER['PHP_SELF']). '/define.php');

こんな感じで書いてみた・・・
後にvar_dumpしてみると
string(33) "/DocumentRoot//hoge/fuga/hoge.php"
表示され・・・あれスラッシュが1個多い!!
ファイル自体は読み込んでくれたけど気持ち悪かったので改善。

先にpreg_replaceで/DocumentRoot/の最後のスラッシュを省く処理をする。

ドキュメントルートの最後のスラッシュを省く
$hoge = preg_replace('|/$|', '', $_SERVER['DOCUMENT_ROOT']);

echo $hoge //\/DocumentRoot

あとはrequire_onceで読み込ませるだけ

require_onceで読み込み
$hoge = preg_replace('|/$|', '', $_SERVER['DOCUMENT_ROOT']);
require_once($hoge. dirname($_SERVER['PHP_SELF']). '/define.php');

上記は問題ありとコメントいただいたので下記を参考に

require_once __DIR__ . '/define.php';

でやっておこう。

以上です・・・
ちょっとした事をメモに残しておく。。。

7
7
5

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
7