![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
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で質問しましょう!
似たような質問が見つかりました
- HTML・CSS Dreamweaver のテンプレートでの相対パスの設定について 2 2023/06/13 17:28
- その他(プログラミング・Web制作) 図に示す階層構造で,現在のディレクトリ(カレントディレクトリという)が*印のディレクトリであるとき, 2 2022/11/16 10:55
- Visual Basic(VBA) VBAでの共有パスにつきまして 1 2023/03/04 17:24
- その他(コンピューター・テクノロジー) <a href="file:///フォルダ名/ファイル名">リンクテキスト</a>について 1 2023/04/06 22:40
- その他(IT・Webサービス) 301リダイレクトの使い方について 7 2022/04/05 17:50
- Visual Basic(VBA) VBSで作成した相対パスのショートカットが他者と共有できません。 1 2022/09/05 11:20
- HTML・CSS CSSでサイトの背景に画像を組み込みたいのですが反映されません 2 2022/11/22 16:21
- Windows 10 WIN10(MAC-bootcamp)で 起動時のパスWが どうにもならない 2 2023/06/30 11:40
- SEO googleサーチコンソールでの重複ページ(ダブルスラッシュ) 3 2023/06/12 15:00
- 分譲マンション オートロック内に宅配ボックス 3 2023/05/16 10:17
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
centos6のlogにscript not foun...
-
別階層のPHP関数を使うには?
-
青森県産のカルヴァドス
-
階層が違う場合の絶対パス相対...
-
ランチャの作り方
-
ドラえもんDVD 2112年ドラえも...
-
[php初心者]サイトを見てデータ...
-
onedrive にexcelファイルをア...
-
別ファイルの変数を呼び出した...
-
CFileDialogの最初のディレクト...
-
フォントの色を変えるには?
-
トランザクションが原因?DBに...
-
php文字列中のシングルクオート...
-
3つ以上の論理積は利用可能なの...
-
ファイル選択ダイアログで選択...
-
バッチを用いたフォルダの自動移動
-
PHP MySQLに画像を直接保存
-
phpの中でphpを書けないか
-
PHPからMSSQLへの接続結果の文...
-
PHPでネットワークドライブのop...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
centos6のlogにscript not foun...
-
正規表現を使い、URLで条件分岐...
-
「旭日中綬賞 」とはどんな賞で...
-
inet コントロールを用いてHTML...
-
htmlの書き換え
-
階層が違う場合の絶対パス相対...
-
文字化けで混乱中です...
-
数値から文字列へ変換後の先頭...
-
厚い本を開きっぱなしにしてお...
-
九州各地の美味しいものをお取...
-
htmlをphpにするにあたってデメ...
-
php セレクトボックス 分岐 ...
-
これを作成するにはPHP?CGI...
-
ASPソースコードをPHPソースコ...
-
PHPで作るフレーム、どんな風に...
-
phpの階層が変わると上手く読み...
-
拡張子htmlでphpが動作するフォ...
-
mod_rewriteでQUERYパラメータ...
-
青森県産のカルヴァドス
-
移動元のURLを変数に取りたい
おすすめ情報