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ランキング
-
PHPを使用したパンくずリストに...
-
データの呼び出しができません
-
PHP file_get_contents 503 ser...
-
FTPコマンドでディレクトリごと...
-
onedrive にexcelファイルをア...
-
バッチを用いたフォルダの自動移動
-
PHPのif文でその処理を途中で抜...
-
これの対応OSを教えて下さい。p...
-
PHPでネットワークドライブのop...
-
PHPsendmailにて送信元を変更
-
phpでクラスのメソッドで同名の...
-
PEAR Image_QRCodeのエラー
-
PHPでfatal errorが出ても無視...
-
【WordPress】メディアの一覧出力
-
さくらサーバーにて、phpからメ...
-
ListViewコントロールでサムネ...
-
phpのクラスメソッドの定義が長...
-
php 完了画面の送信メールのコ...
-
rmdirでフォルダが消せません
-
.phpファイルが、表示されない
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
includeでHTMLファイルを呼出し...
-
centos6のlogにscript not foun...
-
コードがそのまま表示される
-
SSI される .inc ファイル内に ...
-
PHPファイルのシンボリックリン...
-
文字化けで混乱中です...
-
Java Scriptの変数にPHPで出力...
-
正規表現を使い、URLで条件分岐...
-
埼玉の長浜ラーメン店教えてく...
-
青森県産のカルヴァドス
-
PHP file_get_contents 503 ser...
-
PHPファイルの拡張子について ...
-
動的ページを静的ページの変換
-
階層が違う場合の絶対パス相対...
-
PHPを使用したパンくずリストに...
-
html拡張子のままphpを使いたい
-
モジュールモードとCGIモードと...
-
ロリポップでの.htaccess 設定
-
htmlで自分自身を呼び出して整...
-
php リロードしない(再読み込...
おすすめ情報