HTMLの編集中などに、別のHTMLにリンクしたり、画像ファイルを読み込みたい場合があります。
<img src="./image/picture.jpg">
<a href="./myhobby.html">趣味のページはこちら</a>
この時、正しく画像などを呼び出すためには、ファイルが存在する場所を正確に指定する必要があります。
このファイルの場所を指定する方法のことをパス (path)と言います。
上の例では、赤文字の部分がパスに相当します。
パスには、相対パス と 絶対パス の二種類があります。
相対パスは、パスの一種で、基準となるファイルから見た、相対的な位置の表し方です。
基準となるファイルと「同じ場所にある」とか、「一つ上のフォルダにある」、「二つ上のフォルダにある」といったふうに位置関係を表現します。
相対パスはあくまで、ある場所から見た相対的な位置関係で指定をするので、関連ファイルを丸ごと別の場所に移動してもそのまま動作するのがメリットです。ただし、相対的な位置関係がズレてしまうと、参照できなくなります。
相対パスを使うにあたっては、いくつかの約束事があります。およそ以下の4つの事をおぼえればOKです。
フォルダ名/
(フォルダ名の後ろにスラッシュ) で表します。 ./
(ドット・スラッシュ) で表します。./
は省略できます。../
(ドット・ドット・スラッシュ) で表します。../../
のようにつなげます)例えばファイルが以下のように配置されている状況を考えます。
上の図の状態を簡略化して表すと、各ファイルは下のような位置関係となります。
それでは、さまざまなファイルを参照する時にどのように記述するのか、詳しく見てみましょう。
<img src="./image/title.gif">
index.htmlと同じ場所にある ./
、imageフォルダの中の image/
、画像ファイル title.gif
を全部つなげて ./image/title.gif
になるわけです(上の4つの約束事に忠実!)。
やはり先頭の ./
は省略できるので、以下のように書くこともできます。
<img src="image/title.gif">
ファイルの数が増えてくると、画像を1つのフォルダにまとめたりする場合があるので、この使い方をするシーンは多いでしょう。
menu/pic.html
です)。このように、あるファイルから見た相対的な位置関係を表す書き方が「相対パス」です。
主に別の場所にあるファイルを呼び出したり、リンクしたりする際に必要となるでしょう。
フォルダ名/
(フォルダ名の後ろにスラッシュ)で表します。 ./
(ドット・スラッシュ)で表します。./
は省略できます。../
(ドット・ドット・スラッシュ)で表します。
相対パスは相互の位置関係を示すものなので、例えばフォルダ全体をそのまま別の場所に移動しても、一度設定した相対パスはそのまま動作するのがメリットです。
逆に言えば、相対的な位置関係がズレてしまうと参照できなくなります。
小規模サイトでも画像ファイルの数は数百に及ぶことがあります。このようなとき、必要な画像ファイルなどをフォルダにまとめて、相対パスで参照するのがおすすめです。
このような相対パスの表現は、画像を参照したり、リンクで接続したりする際に頻繁に必要となりますので、上の4つの約束事をマスターしておいてください。
絶対パスも、パスの一種で、システム上のファイルの位置を厳密に書く方法です。
基準をどのファイルにおいても、絶対パスの内容は変わりません。
京都産業大学のウェブサーバーも含め、多くのウェブサーバーは UNIX系 のシステムで動作しています。
UNIX系 のシステムにおいては、以下のように絶対パスを表記します。
/NF/home/gXXX/gXXXXXX/public_html/index.html
./
ではなく、システムの最上位階層を意味する /
から始めて、経路にあるフォルダを全て記述します。つまり、システム上の正確な位置を全部書くのが「絶対パス」というわけです。
画像やリンクなどを作成する際に、他のサイトのデータを読み込むこともできます。
例えば画像を読み込む場合、http://
または https://
から始まるアドレス(URL) を使って以下のように記述します。
<img src="http://abc.com/xyz/picture.jpg">
http://
または https://
から全て記入してください。自分のサイト内にある画像も、URLを使って表現することができます。
<img src="https://www.cc.kyoto-su.ac.jp/~g0000000/image/title.gif">
このように、HTMLでは他のファイルを参照する際「相対パス」や「絶対パス」を使う必要があります。
サイトの規模が大きくなって、関連ファイルが増えてくると、フォルダなどで整理をする必要が出てきます。そうすると、別のフォルダに入っているファイルを呼び出したいことも多くなります。そのような状況で必要になる技術なので、ぜひマスターしておきましょう。