こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

「./」とか「../」が意味するもの

いつもお世話になっております。

最近、PHPを勉強し始めた初心者です。

よくわかるPHPの教科書(毎日コミュニケーションズ刊)の

$filePath = './user_img/' . $file['name']; (110ページのプログラム、13行目)や

move_uploaded_file($_FILES['image']['tmp_name'], '../member_picture/' . $image); (239ページのプログラム、16行目)などの

「./」とか「../」は何なのでしょうか?

自分は勝手に「./user_img/」はphpファイルと同じディレクトリのuser_imgフォルダだから「./」だとか

「../member_picture/」はphpファイルより1つ上のディレクトリのmember_pictureフォルダだから「../」なんだと

想像はしてみるのですがイマイチ納得できません。

「./」がどうしてピリオドが1つなのかどうして「../」がピリオド2つなのか教えてください。

よろしくお願いします。

投稿日時 - 2010-12-21 23:49:30

QNo.6399538

すぐに回答ほしいです

質問者が選んだベストアンサー

これはPHPに限らない話でファイルシステムの話ですね。

特徴的なディレクトリとしては以下のようなものがあります。
「./」・・・カレントディレクトリ=現在地
「../」・・・親ディレクトリ
「/」・・・ルートディレクトリ
「~/」・・・ホームディレクトリ=自分基本位置

階層型のファイルシステムの場合、現在地との相対位置を明示するために
あえて「./」からディレクトリを表記することがあります。

たとえばA-B-C-DのCに自分がいる場合,Aの位置は相対的に../../、
Bの位置は../、Dの位置は./Dになります。

投稿日時 - 2010-12-22 00:02:45

お礼

回答有難うございます。

納得できました。

投稿日時 - 2010-12-22 23:39:16

ANo.1

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

Unix系のOSでは.が現在のディレクトリで..は1個上のディレクトリ、/はディレクトリのセパレーターを表します
なぜ.や..や/の記号なのかはOSを作った人がそう決めたから
MS-DOS系では/の変わりに\を使う事もあります

投稿日時 - 2010-12-22 07:58:40

お礼

回答有難うございます。

投稿日時 - 2010-12-22 23:38:49

あなたにオススメの質問