私がまだPHPが全然使えない時にお世話になっていたURLやパスなどを取得する為のコードなどを紹介します。
システム屋さんじゃなくても、インクルードをするときや絶対パスでリンクをする時などに使用をできますので、PHPをなかなか触り始められてない方などにもオススメです。
※今回はかなり初歩的な内容になります。
ファイルのフルパスを確認するコード
<?php
//フルパス
echo dirname(__FILE__) . '<br />';
?>
※「.'<br />'」の記述は表示する際に開業するために入れているので、なくても問題はないです。
上記内容を記述してpath.phpという名前で保存をし、ルートディレクトリにアップロードをしてブラウザからアクセスをしてみましょう。
アクセスすると表示される画面(例)
一部個人情報を伏せる為に加工していますが、上記のような画面が表示され。
察しのいい方はもう何をするコードなのかわかるかと思いますが、簡単に解説をしていきます。
簡単な解説
dirname(__FILE__)
//フルパス
echo dirname(__FILE__) ;
サーバー内でのpath.phpまでのフルパスを出力してくれます。
ベーシック認証に使う際などには/.htpasswdを追記するだけで使用することができます。
また、下記のようにインクルードにもよく使用されるコードになるかと思います。
echoの部分は画面に表示させる為のコードで、dirname(__FILE__) ;の部分でファイルのフルパスを取得しています。
※__FILE__だけにするとファイル名も含める形で取得できます。
※今後インクルードについても簡単な解説の記事を作成したいと考えています。
include(dirname(__FILE__) . "/inc/header.php");
//一個下の階層だった場合
include(dirname(__FILE__) . "/../inc/header.php");
//こういった書き方もできます。
include(dirname(__FILE__ , 2) . "/inc/header.php");
仮想からインクルードするには/../をつけなくてはいけないので、私が素人の頃は複雑な構造になったりするといくつ/../つけたらいいのかなどもわからなくなり、混乱してしまったりしていたので、path.phpを入れて階層の数を指さし確認しながら数えたりをしていました。
おまけ
echo dirname(__FILE__) ;
//こっちの記述でも同じものが表示される
echo __DIR__;
PHP5.3以降なら下の方の記述でも同じ内容が出力されますので、最近ではこちらの記述方法を使われる方もおおいかもしれません。
まとめ
基本的に拡張子をhtmlからphpに変えるだけで使用できるPHP、簡単な内容だけでも触ってみたりしていると、便利にできるものがたくさんありますので、今回のような内容をきっかけにしてシステムは作れるようにならなくてもWEB制作に役立てていただけたら嬉しいです。