絶対パス

絶対パスはURLと説明しているサイトも多いようですが、
プログラム用語の絶対パスは必ずスラッシュ「/」から始まります。
このフルパスはサーバによって異なり調べなくてはわかりません。
例へばBIGLOBEの場合
/home22/****/public_html/
CGIのログの指定で、後述のURLバスではgifcat.plを使ったカウンタ画像や、
GIFファイルを読みこんで表示するCGIのGIFファイルなどを指定できません。

絶対パスを取得する便利なCGIがあります。
以下のソースを「メモ帳」にコピーして名前を付けて保存、ファイルの種類を「すべてのファイル」として
「path.cgi」という名前で保存して、サーバにアップロード、
バーミッション属性を705に設定しURLで呼び出して下さい。
例えば「ネット春風」のフルパスのサンプルです。
FTTTPソフトで右サーバ側のタイトル名を見ることでも知ることが出来ます。
#!/usr/bin/perl
# フルパス
eval{ $path1 = `pwd`; };
if ($@ || !$path1) { $path1 = 'error'; }

print "Content-type: text/html\n\n";
print <<"EOM";
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="ja">
<head>
<META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=Shift_JIS">
<title>$ver</title></head>
<body bgcolor="#FFFFFF" text="#000000">
<h3>この「ディレクトリ」のフルパスは以下のとおりです。</h3>

<P>
<DL>
<DT>サーバー内フルパス
<DD><font color="#0000A0" size="+1"><tt>$path1</tt></font><br><br>

</div>
</body>
</html>
EOM

exit;





URL

パスとは?通り道という意味でホームページを見るときURLを
http://www.net-haru.sakura.ne.jp/public_html/sofu/oyaji/honnin.html
というふうに指定しますが、
このように、最上位階層から目的のファイルやフォルダまで、
つまりプロトコル名からファイル名のすべての道筋を直接記述する方式も
「絶対パス」と呼ばれています。
この場合、どのWebページからでも同じURLになりますが、表記が長くなるのが問題です。

また、オフライン上のファイルのパス指定は、
「ドライブ名+フォルダ名+ファイル名」という形になります。
例えば、ワードのアイコンを右クリックしてプロバティーを見ると。
C:\Program Files\Microsoft Office\Office\winword.exe
階層は「プログラムフイルズ」⇒「マイクロソフトオフイス」⇒「オフイス」⇒最期に「ワード本体」が来ます。
このファイルをマイドキュメントに置いた状態では、マイドキュメント⇒public⇒祖父⇒親父⇒自分です。
C:\My Documents\public_html\sofu\oyaji\index.html
いずれも最初は、『C:\』となり、Cドライブになっています。
この「:」という記号の意味は、ドライブであることを示し、
「\」は、フォルダ名を区切るために用いられる「/」と同じです。


相対パス

親族関係の構成を例にとってファイル関係の、相対パス記述法の説明をしています。
家族構成は、一族の長としてお爺さん、親と叔父叔母、従兄弟が一人、自分に弟と妹の兄弟があり、
子と孫、弟に女の子姪が一人居ると仮定しています。
例えば編集中のファイルが本人であり、その位置から相対的に家族を呼ぶ(リンク)ことになります。
ファイル名は適当に付けていますが拡張子のない物はフォルダー(デレクトリー)を表します



デレクトリー階層図 (家族構成/親等)

 public_html(高祖父)
 │
 └sofu/(祖父A)
   │
   ├ojisan.html(叔父B)
    │
    ├oyaji/(親@)
    │ │
    │  ├honnin.html(自分◎)
    │ │ 
    │  ├otouto/(弟A)
    │  │ │
    │  │  └meigo.gif(姪B)
    │  │
    │  └imouto/(妹A)
    │    │
    │     └oigo/(甥B)
     │        │ 
    │          └oinoko.jpg(甥の子C)
   │
   └obasan/(叔母B)
      │
       └itoko.midi (従兄弟C)

  


【同じ階層(フォルダー)にあるファイル】
ファイル名そのまま記述します。
又はドット1個とスラッシュ「./」を付けても結果は同じです。
otouto/ ./otouto/ imouto/ ./imouto/


【1つ下の階層のファイル】
フォルダ名を書いてその後にスラッシュ「/」を入れ、
目的のファイル名を書きます。
otouto/meigo.gif ./otouto/meigo.gif imouto/oigo/ ./imouto/oigo/

【2つ下の階層のファイル】
親のファイル名の次にスラッシュを挟んでファイル名を書く。
imouto/oigo/oinoko.jpg ./imouto/oigo/oinoko.jpg

3つ以上になってもスラッシュで区切って追加していきます。

【1つ上の階層(フォルダ)のファイル】
頭にドットを二個とスラッシュ「../」を付けて 記述します。
又、「./」は現在のフォルダという意味なので付けても付けなくても結果は同じです。
../ojisan.html ../oyaji/ ../obasan/ ./../ojisan.html ./../oyaji/ ./../obasan/

【2つ上の階層(フォルダ)のファイル】
頭にドットを2個とスラッシュ「../」を2回並べて付けて 記述します。
../../sofu/ ./../../sofu/

【3つ以上は「../」を追加することになります。】
../../../public_html/ ./../../../public_html/

では、階層図の「itoko.mid」を指定するにはどうしますか。
「itoko.mid」は一つ上の「obasan」の下に位置していますので先ず、
一つ上に行って「../obasan」下に降るスラッシュ「/itoko.mid」を介してファイル名を記述します。

../obasan/itoko.mid ./../obasan/itoko.mid