1

サイトの 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

4 に答える 4

2

イメージ パスは、Web ルートからの相対パスである必要があります

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

これは、Web ルート /m.pdi/images/ を意味します。

于 2012-10-03T12:38:56.097 に答える
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 詳細情報..

于 2012-10-03T12:47:36.510 に答える
2
define('HOST' , $_SERVER['DOCUMENT_ROOT']);

これは間違っています。あなたはおそらく次のことを意味していました:

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

しかし、ホスト名は実際にはサイト ローカル リンクに表示されるべきではないため、結果として得られるパスは正しくありません。

于 2012-10-03T12:44:29.663 に答える
0

これは、(サーバー上の) 実際のパスと URL を混同しているためです。

生成された HTML を見ると、何が問題なのかがわかります。

于 2012-10-03T12:38:55.323 に答える