2008-12-29 69 views
2

我是一个崩溃学习项目的PHP,我有很多愚蠢的问题。第一个是以下内容。我有这样的结构:PHP中的页眉页面需要考虑应用程序目录

  • 的index.php
  • 的header.php
  • 图像/
  • 数据
    • data.php

现在,问题是我想将header.php文件包含在数据中。 PHP文件。这没有问题。

我遇到的问题是,header.php有一个相对路径的图像文件夹的链接。所以,图像不会加载。

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

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

如何在PHP中获取此路径?

回答

2

尝试看看包括像这样的文件:

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

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

0

$_SERVER['PATH_TRANSLATED']

0

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

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

2

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

require(realpath(dirname(__FILE__).'/lib/Database.php')); 
+0

我在这之前的某个地方见过这个地方......哦,这是我的回答! – 2008-12-29 21:28:59

0

一切美好的PHP的答案,我建议你看看它的其他方式:是有什么阻止你的形象src="/images/yourimage.gif"链接?这样,无论您从哪里调用图像,图像都会加载。

+0

这正是我的问题!我不能做/images/yourimage.gif,因为我不知道应用程序驻留在哪个文件夹中。它可能是/app1/images/yourimage.gif或/app2/images/yourimage.gif – 2008-12-30 00:13:38