绝对路径从哪里开始?

时间:2012-02-14 21:01:23

标签: php linux apache

  

可能重复:
  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开始,例如/home/myusername/public_html/mysite.com/myphp/myfile.php 有时需要从mysite.com开始,例如/myphp/myfile.php

我的困惑:什么绝对路径需要从/ home开始,什么时候需要在mysite.com内启动?是否有经验法则或任何人可以提供的见解?

3 个答案:

答案 0 :(得分:1)

你混淆了两种类型的绝对/相关性。

如果您使用网站术语(images / 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 / Server端包含,则需要使用FULL绝对路径,以便整个/home/myusername/public_html/mysite.com结构。

同时,如果你想使用相对方法(在大多数情况下首选,因为它使你的PHP代码更容易移动),你只需要include('../database/connect.php');

答案 1 :(得分:0)

这取决于网站。你有没有为网站编写PHP代码?通常绝对路径将指向Web根目录(例如/home/myusername/public_html/mysite.com),但是如果您出于安全目的而在Web根目录之外有配置或其他包含的文件 - 这可能需要不同的路径(例如/ home / myusername / notwebroot)

答案 2 :(得分:0)

你真的混淆了一条绝对路径的相对路径。

/home/myusername/public_html

是绝对路径

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

这些都是相对路径。

如果它不是从根开始那么它不是绝对路径。如果它是从您网站的根目录开始那么它是一个相对路径,因为如果您将您的网站移动到另一个文件夹,那么这些目录和文件的路径不需要更改(即它们相对于Web根目录) 。