Абсолютный путь и относительный путь - PullRequest
10 голосов
/ 08 октября 2008

В чем разница между абсолютным и относительным путями при использовании любого веб-сервера или Tomcat?

Ответы [ 5 ]

28 голосов
/ 08 октября 2008

Абсолютные пути начинаются с / и относятся к местоположению из корня текущего сайта (или виртуального хоста).

Относительные пути не начинаются с / и относятся к местоположению из фактического местоположения документа, на который сделана ссылка.

Примеры, предполагая, что root равен http://foo.com/site/

Абсолютный путь, где бы мы ни находились на сайте

/foo.html

будет ссылаться на http://foo.com/site/foo.html

Относительный путь, при условии, что содержащая ссылка находится в http://foo.com/site/part1/bar.html

../part2/quux.html

будет ссылаться на http://foo.com/site/part2/quux.html

или

part2/blue.html

будет ссылаться на http://foo.com/site/part1/part2/blue.html

3 голосов
/ 08 октября 2008

Важно отметить, что относительные пути также субъективны.

то есть:

<?php 
  #bar.php
  require('../foo.php'); 
?>
/dir/bar.php 
/foo.php         # prints a 
/dir/foo.php # prints b 
/dir/other/   # empty dir
$ pwd 
>  /
$ php dir/bar.php 
>  / + ../foo.php == /foo.php   
>  prints a 
$ cd dir 
$ php bar.php
>  /dir  + ../foo.php = /foo.php 
>  prints a
$ cd other
$ php ../bar.php 
> /dir/other + ../foo.php  = /dir/foo.php 
> prints b

Это может создать некоторые довольно запутанные ситуации, особенно если у вас много файлов с относительными ссылками и множеством возможных мест, которые могут выступать в качестве «точки входа», которая контролирует относительный путь.

В таких ситуациях нужно вычислять абсолютный путь вручную на основе фиксированного известного, то есть:

<?php
    require( realpath(dirname(__FILE__) . '/../foo.php') )

или

<?php
   require( SOMECONSTANT . '/relative/path.php'  ); 

или

<?php
   require( $_SERVER['DOCUMENT_ROOT'] . '/relative/path.php' );
3 голосов
/ 08 октября 2008

http://www.communitymx.com/content/article.cfm?cid=AEDCC52C4AD230AD должны все это объяснить.

Детализирует разницу между абсолютным, относительным и путями документа.

1 голос
/ 17 января 2012

Методом проб и ошибок я определил, что отправной точкой пути в Tomcat является папка webapps.

Другими словами, если ваш Java-код пытается прочитать ../somefile.txt, тогда абсолютный путь к этому файлу будет% TOMCAT_HOME% / webapps /../ somefile.txt т.е.% TOMCAT_HOME% / webapps / somefile. TXT

1 голос
/ 08 октября 2008

Можно просмотреть эту ссылку для простого объяснения http://www.computerhope.com/jargon/a/absopath.htm

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...