在config.php文件中定义映像目录

时间:2012-10-03 12:36:39

标签: php configuration-files

我为自己的网站创建了一个config.php文件。它似乎工作但图像没有显示。

define('HOST' , $_SERVER['DOCUMENT_ROOT']);
define('DIR_BASE',      HOST.'/m.pdi');
define('DIR_INCLUDES',    DIR_BASE . '/includes/');
define('VIEW_HEADER',   DIR_INCLUDES . 'header.php');
define('VIEW_NAVIGATION',   DIR_INCLUDES . 'horizontalmainmenus.php');
define('VIEW_FOOTER',   DIR_INCLUDES . 'footer.php');
define('DIR_IMAGES',   DIR_BASE . '/images/');

<img src="<?PHP echo DIR_IMAGES; ?>final-logo.jpg">

我的图片位置看起来像http://192.168.1.8/var/www/html/m.pdi/images/final-logo.jpg

如何解决此错误?

4 个答案:

答案 0 :(得分:2)

您的图片路径必须相对于您的网络根目录

define('DIR_IMAGES', '/m.pdi/images/');

这意味着您的网络根目录/m.pdi/images /

答案 1 :(得分:2)

define('HOST' , $_SERVER['DOCUMENT_ROOT']);

这是错误的。你可能意味着:

define('HOST' , $_SERVER['HTTP_HOST']);

但即便如此,生成的路径也是错误的,因为主机名不应该真正出现在站点本地链接中。

答案 2 :(得分:2)

$_SERVER['DOCUMENT_ROOT']获得的是:

  

正在执行当前脚本的文档根目录,如服务器配置文件中所定义。

您可以使用/var/www/html/获取系统路径,您可以这样做:

define('DIR_IMAGES', '/m.pdi/images/'); //relative path
//OR define('DIR_IMAGES', $_SERVER['HTTP_HOST'] . '/m.pdi/images/');

<img src="<?php echo DIR_IMAGES; ?>final-logo.jpg">

$_SERVER more info..

答案 3 :(得分:0)

这是因为您将实际路径(在服务器上)与URL混淆。

查看您生成的HTML,您将看到错误。