2

我正在为一个项目快速学习 PHP,我有很多愚蠢的问题要问。第一个是以下。我有这样的结构:

  • 索引.php
  • 头文件.php
  • 图片/
  • 数据
    • 数据.php

现在,问题是我想在 data.php 文件中包含 header.php 文件。那没问题。

我遇到的问题是 header.php 以相对方式链接到图像文件夹。因此,图像不会加载。

更糟糕的是,这个结构在一个特定的别名下,所以我不能将 / 附加到图像链接的开头。

我想,我需要的是一种在脚本中获取应用程序路径的方法。这样我就可以参考图像而不必担心包含的位置。

你如何在 PHP 中获得这条路径?

4

5 回答 5

2

尝试包括这样的文件:

<?php
    include($_SERVER['DOCUMENT_ROOT'].'/data/data.php/');
?>

DOCUMENT_ROOT将返回位于您网站的 Web 服务器上的根文件夹的路径。

于 2008-12-29T19:11:24.123 回答
2

许多人使用这样的东西。将dirname(__FILE__)返回当前脚本的目录。然后你将它连接到你所包含的脚本的相对路径。

require(realpath(dirname(__FILE__).'/lib/Database.php'));
于 2008-12-29T20:03:26.580 回答
0

看一眼$_SERVER['PATH_TRANSLATED']

于 2008-12-29T18:59:01.827 回答
0

使用 set_include_path(get_include_path().PATH_SEPARATOR.$new_path) 其中 $new_path 应该让您从绝对根文件夹一直到 getcwd() 的结果。

确保将此包含路径添加到主文件,这样代码就不会为 data/ 中的每个文件重复。这也将确保您不再为同样的问题而烦恼。

于 2008-12-29T19:16:46.673 回答
0

All the good PHP answers being already taken, I'd suggest you look at it the other way: is there something preventing you from linking the image as src="/images/yourimage.gif"? This way the image will load no matter where you call it from.

于 2008-12-29T20:53:45.277 回答