外部ファイル読み込み時の相対パスの記述方法

Posted by muchag | CSS,PHP |
初回投稿:2010-06-17 (木) 16:56:36 | 最終更新:2015-12-16 (水) 14:26:23

外部ファイル読み込み時の相対パスの記述方法は言語によって異なるみたい。

今回気が付いたのは、PHPとCSSでの差異。

PHPでは、大元ファイルから辿る相対パス。
CSSでは、読み込み先ファイルから辿る相対パス。

ディレクトリ構成

状況
ユーザーアクセス

ユーザーがアクセスするファイルは aaa ファイル。

入れ子状況

その aaa ファイルは、bbb ファイルを読み込んでいる。
その bbb ファイルは、ccc ファイルを読み込んでいる。

お題

そのときの bbb ファイルにおける ccc ファイルへのパスの書き方。

CSS の場合
解答

bbb.css から辿るパスを記述。

ソース
aaa.css
  1. @import url("../bbb.css");
bbb.css
  1. #hoge {
  2.     background-image: url("c/ccc.png"); // ← bbb.css からみたパス
  3. }
PHP の場合
解答

aaa.php から辿るパスを記述。

ソース
aaa.php
  1. require('../bbb.php);
bbb.php
  1. $image_path = '../c/ccc.png'; // ← aaa.php からみたパス

PHP の場合は読み込みで、CSS の場合は参照
ということなのかな?

2015-12-16 追記 ここから
PHP で、当該ファイルから辿りたい場合

上記例において、bbb.php で記述する ccc.png へのパスを
bbb.php から辿りたいとき。

  1. $image_path = dirname(__FILE__) . '/c/ccc.png'; // ← bbb.php からみたパス
bbb から見て、登る必要があるとき

未試行。

  1. $image_path = dirname(__FILE__) . '/../d/ddd.png'; // ← bbb.php からみたパス
参考サイト

WEB EGG:phpでrequire_onceするときに相対パスでハマった

2015-12-16 追記 ここまで
Posted by muchag | CSS,PHP |
初回投稿:2010-06-17 (木) 16:56:36 | 最終更新:2015-12-16 (水) 14:26:23

コメントはまだありません »

No comments yet.

RSS feed for comments on this post. TrackBack URI

Leave a comment