我为自己的网站创建了一个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
如何解决此错误?
答案 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">
答案 3 :(得分:0)
这是因为您将实际路径(在服务器上)与URL混淆。
查看您生成的HTML,您将看到错误。