о пути к файлу - PullRequest
       27

о пути к файлу

2 голосов
/ 07 июня 2011

Относительный путь и абсолютный путь к файлу.Но некоторые из писаний иногда смущают меня:

/a/b/c.php   //relative document root
./a/b/c.php  //what does this mean? equals to '/a/b/c.php' or a/b/c.php?

a/b/c.php    //relative to current directory
../a/b/c.php  //parent folder relative to current directory
/../a/b/c.php  //what does this mean? parent folder of document root?

Есть ли другие способы написать это?

Спасибо.

Ответы [ 2 ]

4 голосов
/ 07 июня 2011

Вот вам основной символ каталога:

  • . (точка) - ваш текущий каталог
  • .. (двойная точка) является родителем вашего текущего каталога
  • ~ (тильда) - ваш домашний каталог.
  • / (косая черта), если он присутствует в первом символе, его обычно называют корневым каталогом.

Все это происходит из терминологии Linux / Unix ( CMIIW здесь).

Теперь давайте посмотрим на реализацию:

  • Допустим, вы находитесь на /home/username/
  • если вы напишите что-то вроде этого, результат:
    1. ./wwwroot/somedir/ => /home/username/wwwroot/somedir/
    2. ../wwwroot/somedir/ => /home/wwwroot/somedir/
    3. /../wwwroot/somedir/ => /wwwroot/somedir

Вы можете запутаться в примере № 3. Если вы поставите / перед информацией о пути, это означает, что вы находитесь в корневом каталоге. Следовательно, если вы пишете /../somedir/, это означает, что вы указываете на / somedir /. Зачем? потому что корневой каталог не имеет родителя.

1 голос
/ 07 июня 2011

.= текущий каталог.Таким образом, ./a/b/c.php будет эквивалентно a/b/c.php.

/../a/b/c.php означает, что перейдите в корневой каталог, затем вверх на один, затем в каталог a, затем в каталог b, затем c.php.

...