0

我使用一些常量来定义我正在构建的网站上特定目录的路径,如下所示:

define("ROOT_PATH", "http://website.com/");
define("IMAGES_DIR", ROOT_PATH . "images/");

我通常这样使用它们:

echo "<img src='" . IMAGES_DIR . "some_image.jpg' />";

现在我想知道两者之间是否有任何区别

define("ROOT_PATH", "http://website.com/");

define("ROOT_PATH", "/home/username/public_html/");

我应该使用哪一个?为什么?

4

3 回答 3

1

您不能真正使用以下内容:

define("ROOT_PATH", "/home/username/public_html/");

因为它会尝试加载

http://website.com/home/username/public_html/image.png

你真的不想要的。

使用

define("ROOT_PATH", "http://website.com/");

将尝试获取

http://website.com/image.png

这就是你想要的。

于 2013-01-07T08:29:36.900 回答
1

不同之处在于 html 不会识别图像或 src 属性的完整路径......但你可以使用它

define ('ROOT', dirname(dirname(__FILE__)));
define ('ROOT_PATH', "http://website.com/");
define ('INCLUDES',ROOT .'path/to/php/includes/'); //for php includes

或者您可以使用 php 函数根据 getenv("SCRIPT_NAME") 转换 "ROOT_PATH"

于 2013-01-07T08:53:51.780 回答
0

你应该使用

define("ROOT_PATH", "http://website.com/");

如果您使用:

define("ROOT_PATH", "http://website.com/");

在客户端,图像源:

http://website.com/some_image.jpg

如果您使用:(仅适用于本地文件系统)

define("ROOT_PATH", "/home/username/public_html/");

图片来源:

http://website.com/home/username/public_html/some_image.jpg
于 2013-01-07T08:35:17.477 回答