2012-02-14 3 views
0

Можно создать дубликат:
Absolute path & Relative Pathгде начинается абсолютный путь?

Это очень простой вопрос, но я почесал голову над этим в течение длительного времени, и я надеюсь, кто-то может помочь прояснить мой спутанность сознания.

У меня есть общая учетная запись на сервере linux.
Путь к public_html является: /home/myusername/public_html Код для моего сайта здесь живет: /home/myusername/public_html/mysite.com Под mysite.com есть каталоги, такие как «mycss», «myjs», «myphp» и т.д. Когда я создаю абсолютный путь (например, в коде PHP или файл HTML), иногда путь должен начинаться с/дома, например /home/myusername/public_html/mysite.com/myphp/myfile.php А иногда нужно начинать внутри mysite.com, например /myphp/myfile.php

Моя путаница: Когда абсолютное путь нужно начинать с/home, а когда нужно начинать с mysite.com? Есть ли эмпирическое правило или какое-либо понимание, которое может дать любой человек?

+0

Обычно вы всегда можете использовать абсолютный путь но не всегда может использовать относительный путь. Таким образом, безопасно начинать с/home /, даже в тех случаях, когда вы можете начинать с/myphp/ –

+0

NOT DUPLICATE. Это не был общий вопрос об абсолютных и относительных путях. Вопрос состоял в том, когда использовать абсолютный путь ABBREVIATED по отношению к абсолютному пути FULL, на который ответил Якуб ниже, и не рассматривается в http://stackoverflow.com/questions/181805/absolute-path-relative-path – moondog

ответ

1

Вы вводите в заблуждение два типа абсолютных/относительных.

Если говорить с точки зрения веб-сайта (изображения/JS/html вещи), ваш absolute путь от корневого сайта папку (например: /home/myusername/public_html/mysite.com)

Так что, если у вас есть папка, как:

/home/myusername/public_html/mysite.com/images/bob.jpg 

В вашем HTML абсолютный путь будет /images/bob.jpg, в то время как относительный путь к веб-сайту будет images/bob.jpg и т. Д .;

ЕСЛИ вы используете PHP/серверную часть, вам нужно использовать полный полный путь, поэтому ваша целая модель /home/myusername/public_html/mysite.com.

Но и в то же время, если вы хотите использовать относительный метод (рекомендуется в большинстве случаев, как это делает ваш PHP код легче двигаться) вы вобще include('../database/connect.php');

+0

Спасибо, это очень полезно. Если я правильно понимаю, вы говорите, что для кода на стороне клиента (например, html, javascript) используйте сокращенный абсолютный путь. Для кода на стороне сервера (например, php, htaccess) используйте абсолютный путь FULL. Это правильно? (Кроме того, спасибо за подсказку об использовании относительных путей вместо этого.) – moondog

+0

правильно, так как ваш «материал сайта» повторяет, где находятся файлы веб-сайта. Путаница заключается в ваших PHP-скриптах, поскольку они просто живут внутри структуры папок, а их «root» - это '/' или 'c: \' и т. Д .; – Jakub

0

Это зависит от веб-сайта. Вы пишете PHP-код для веб-сайта? Обычно абсолютный путь указывает на веб-корень (например, /home/myusername/public_html/mysite.com), но если у вас есть конфиг или другие включенные файлы, которые находятся за пределами корня веб-сайта в целях безопасности, для этого может потребоваться другое path (например./home/myusername/notwebroot)

0

Вы путаете то, что на самом деле является относительным путем с абсолютным путем.

/home/myusername/public_html 

абсолютный путь

/public_html/anything 
/myphp/myfile.php 
/mysite.com/anything 

все эти относительные пути.

Если он не начинается с корня, то это не абсолютный путь. Если он начинается с корня вашего сайта, то это относительный путь, потому что если вы переместите свой сайт в другую папку, то пути к этим каталогам и файлам не нужно изменять (т.е. они относятся к корневому веб-сайту) ,

+0

Забавный что в основном тот же ответ, что и одобренный/принятый ответ относительно относительных и абсолютных путей, и кто-то его понижает. – Brian

Смежные вопросы