
kari.htmlにある内容のボックスがあるとして、
それはCSSでデザインされ、画像も入っています。
この下の階層の
menu.htmlの中にkari.htmlで使ったある内容ボックスの同じものがまるまる入ります。
なので、kari.htmlの内容を更新してコピーしてmenu.htmlにもはります。
この場合、画像やCSSを相対パスではなく、絶対パスにしておくと、階層が異なっても
きれいに入ります。
../からではなく、/から始まるパスです。
このやり方は間違っているのでしょうか?
同じようにページ、階層を渡って共通部分には絶対パスをしています。
こういうふうに使い分けしていくものでしょうか?
phpでインクルードしてもいいんですが、他にもインクルードが多々あるので、
ページ内でそんなにインクルードあってもいいものかと思いまして。。(勝手な勘違いでしょうか?)
宜しくお願い致します。
No.2ベストアンサー
- 回答日時:
間違いではないですし、使い分けもいいでしょう。
フレームワークのように全体をシステム化すれば絶対パスになるのも普通です。
全体の階層が変わることはあまりないでしょうが、例えば
css_path('/path/to/style.css') など関数を挟めば階層ダウンにも対応可能です。
ただ、なるべく仕様は統一した方がよいです。
CSSの中なんかは相対の方がいいかと思います。
ありがとうございます。
全体の階層は変わることはないです。
そのために、”今”きっちりと階層とパスの関係を構築しています。
CSSの中は相対パスです。
(背景画像の指定とかですよね?)
一応相対パスと使い分けしています。
ポータルサイトなので、
同じ作りのページが数十ページならびます。
またお店ごとにディレクトリを設けます。
なので、画像の名前、imgフォルダなどの各フォルダ名を一緒にしておくと、
相対パスで作った時にお店のデータのファルダをコピーし名前を
変えるだけで、中の情報が全て、変わるので便利です。
絶対パスはコピペとかで移動する場合があるところ、
階層が違うけど、共通で入っているリンクなどに使っています。
これが正しかったのか、どうなのか不安でして。。
今まで絶対パスは外部リンクにしか使ってこなかったので、
新しい試みで疑問でした。
No.1
- 回答日時:
>画像やCSSを相対パスではなく、絶対パスにしておくと、階層が異なってもきれいに入ります。
この文の意味がいまいちわかりかねますが、
絶対パスと相対パスの考え方の基本は、
絶対パスは環境に依存しやすいのに対し、相対パスは環境に依存しにくいと言う事です。
すなわち、絶対パスで指定する場合はその環境固有の設定であるとか、恐らくどの環境を用いても共通であろうと思われる環境に対して指定します。
それに対して、相対パスと言うのは環境に依存しにくいですから、例えばWeb環境をごっそり他の環境に移行しても相対パスで指定してあれば、そのままWeb環境が再現できる事になります。
今回は、たまたまWeb環境ですが、例えば、自作のプログラムがありヘッダーファイルをインクルードする記述を絶対パスで書いていては、環境が変わる毎にその絶対パスを書き直さないといけません。ソースコードのバージョン管理をしていても、バックアップをしていても同じような事が言えます。
Linuxであればマウントされるフォルダーが変わってしまえば絶対パスで書いていたらその都度書き直さないといけない事になります。
すなわち、ApacheやPHP本体に関しては固定パスにインストールされるので、環境を変えた際違うパスにインストールした場合は、本体を参照している部分については書き直しが必要ですが、それ以外の自作のPHPやCSS、HTMLなどに関しては相対パスで記述した方が無難です。
相対パスで問題が出るようであれば、相対パスで問題が出ないようなフォルダー階層に構成しなおした方がより柔軟性が出ると思います。
一人、かつ、Web環境で作業するだけですとなかなか、この相対パスの重要さが見えてこないですが、複数人でいろいろな作業をしてくるとだんだん見えてくる事かと思います。
ご参考までに。
ありがとうございます。
>画像やCSSを相対パスではなく、絶対パスにしておくと、階層が異なってもきれいに入ります。
すいません、階層が違ったところにボックスごとコピペしても
パスを変えることなく、きちんと表示できるということです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PHPって?
-
PHP file_get_contents 503 ser...
-
SSI される .inc ファイル内に ...
-
PHPのif文でその処理を途中で抜...
-
Subversionのリポジトリの削除
-
.phpファイルが、表示されない
-
FTPコマンドでディレクトリごと...
-
Illustratorで文字と画像を流し...
-
「クラウドにアップロード」」...
-
@fileとは
-
さくらインターネットでメール...
-
FORMで送信ボタンと戻るボタン...
-
PHPがうまく表示されない・・・?
-
phpのクラスにて別ファイルの変...
-
phpでのメール転送(添付ファイ...
-
imagecreatetruecolor()関数で...
-
webroot以外の画像の表示
-
PHP session_destroyとsession...
-
shift-jisでfgetcsv
-
日付と年月日を選択するコード...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
htmlでphp(WordPress)を動かす
-
nl2bの代用関数を何か知ってい...
-
path文字列の操作
-
EZwebからphpのページを見るこ...
-
includeでHTMLファイルを呼出し...
-
階層が違う場合の絶対パス相対...
-
電通のタブーとは
-
botを作っているのですが、oaut...
-
centos6のlogにscript not foun...
-
「旭日中綬賞 」とはどんな賞で...
-
携帯で携帯サイトを閲覧すると...
-
htmlの書き換え
-
SSI される .inc ファイル内に ...
-
PHP file_get_contents 503 ser...
-
xhtmlサイトでPHPタグをhtml拡...
-
phpとhtmlについて分からない部...
-
COOKIEの保存がうまくいかない
-
ページに読み込みたい
-
xrea+ と 開発環境 とで .htacc...
-
PHPでheader情報がうまく表示で...
おすすめ情報