что делает /../ или "/../ "значит в файловой системе?



Я это знаю . ссылается на текущий каталог И./ относится к файлам в текущем каталоге.
Я тоже это знаю .. ссылается на родительский каталог



Недавно я наткнулся на следующую строку:



require __DIR__.'/../vendor/autoload.php';


(Это было в указателе ларавеля.PHP-файл.)



Здесь конкретно то, что подразумевается под "/../"?



Спасибо



Edit: я пытался искать в google. Я пытался искать с помощью escape-последовательностей, слишком похожих на //..// , но он не дал требуемого ответа.

630   5  

5 ответов:

Вы читаете это так:

__DIR__      // start in the current directory
../          // go up one directory from where you are
vendor/      // go into the vendor directory
autoload.php // and require the autoload.php file

Дополнительный / между __DIR__ и ../ просто гарантирует, что текущий каталог заканчивается косой чертой, поэтому вы получаете, например, code/../vendor/autoload.php вместо code../vendor/autoload.php

В пути . ссылается на текущий (рабочий)каталог и .. ссылается на родительский каталог (если он существует). Оба являются "ярлыками" для фактического написания имен этих каталогов (если, например, вы не знаете имя текущего / родительского каталога): вот пример:

Если вы находитесь в папке /root:

1  ./test        //--> points to folder 'test' (relative path)
2  /root/test    //--> points to folder 'test' (absolut path)

Оба равны. И если вы находитесь в папке /root/test:

1  ./..          //--> points to folder 'root' (relative path)
2  /root         //--> points to folder 'root' (absolut path)

../ Перейдите в родительский каталог и затем будьте в том же корневом директоре проекта / перед ../

require __DIR__.'/../vendor/autoload.php';

Он ссылается на родительский каталог текущего пути (проклятия, если родительский каталог существует).

В принципе, /../ не имеет никакого конкретного определения, потому что это часть __DIR__.'/../vendor/autoload.php', которая состояла из .. и /vendor/autoload.php. Что .. означает вернуться к текущему родительскому каталогу, а позже говорит вам войти или cd в каталог vendor, затем перейти к autoload.php, и все относительно __DIR__.

Пример:

Представьте, что вы хотите gedit файл в другом каталоге из вашего текущего каталога, который структурирован ниже

/home/handsomeyou/Documents/Code/ -> your current directory
/home/hansdomeyou/Documents/Tasks/task_list.txt -> your target

Существует много подходов для достижения это, но чтобы сделать его соответствующим вашему вопросу, мы сделаем это

$ gedit ../Tasks/task_list.txt

Comments

    Ничего не найдено.