●絶対パス(フルパス)と相対パスって何?
一口にパスと言っても、表記にはいろいろあります。
$logfile = './bbs.log';
$logfile = 'bbs.log';
$logfile = '/home/□□□/public_html/cgi-bin/bbs.log';
$logfile = 'http://www.●●●.ne.jp/□□□/cgi-bin/bbs.log';
1番めと2番目のものは同じようなもので相対パスと呼ばれています。 (ただし、2番目に関しては、元からサーバーに設置されているファイルに関してはこの限りではありません) そのファイルのあるディレクトリから見た、指定するファイルの位置とお考え下さい。
3番目のものは、一番上の階層のディレクトリのからのパスです。絶対パス、またはフルパスと呼ばれているものです。
4番目のものは、URL(もしくはアドレス)と呼ばれるもので、インターネット全体から見た、指定するファイルの場所です。同じサーバー内にあるもの以外のもの指定する際に使いますが、別に同じサーバー内にあっても(特に制作者から指定されていなければ)相対パスのかわりに使うことができます。
そのファイルを自分の家に、指定するファイルを友達の家に例えた場合、相対パスは自分の家から●件目、絶対パスはその友達の家そのものの住所を表します。
●相対パスがよく分かりません。
以下のように構成されているpublic_htmlディレクトリの、bbs.cgiというファイルを例にとって、
相対パスと絶対パスの説明をします。
線で囲まれているのがディレクトリ名。左が上層、右が下層です。
public_html内のindex.htmlからiconディレクトリ内のindex.htmlを指定する相対パスは
./image/bbs/icon/index.html
です。
「./」はそのファイルのあるディレクトリを表しています。つまり同じディレクトリにある「image」ディレクトリを指し示します。
逆にiconフォルダ内のindex.htmlからpublic_html内のindex.htmlを指定する相対パスは
../../../index.html
です。
この「..」は、一つ上のディレクトリを表します。
cgi-bin内のbbs.cgiから見て、
public_html内のmenu.htmlは../menu.htmlです。
同一ディレクトリにあるbbs.logは、./bbs.logまたはbbs.logです。
iconフォルダ内のmail.gifは../image/bbs/icon/mail.gifです。
BACK to TOP
|