1

私は jsp プログラマーで、自分で php を学ぶために少し宿題をしました ;) 私の質問は、php ドキュメントにファイルを含めることです。ここで説明するのはコードです。

index.php

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Home</title>
</head>
<body>
<?php include("/php/lib/banner.php"); ?>
</body>
</html>

バナー.php

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Banner</title>
</head>
<body>
<table width="100%">
<tr>
<td>
<img src="../../images/banner.jpg" width="100%" /></td>
</tr>
</table>
</body>
</html>

ファイルの場所:

main\index.php  
main\php\lib\banner.php  
main\images\banner.jpg  

私が得るエラーは、Indexページに画像が表示されないということですが、直接banner.phpにアクセスすると機能します

提案してください。

よろしくスウォループ・マハパトラ

4

6 に答える 6

2

インクルードは文字通り一方のファイルの内容をもう一方のファイルに入れるため、パスを index.php で使用するパス (images/banner.jpg) にする必要があります。

于 2012-11-01T04:32:09.803 に答える
1

include 関数を使用して php ファイルをインクルードすると、パーサーは実際に「banner.php」からコンテンツを取得し、それが呼び出された場所に挿入します。

これで画像ソースは banner.php のディレクトリに対して参照しましたが、include使用する場合は index.php のディレクトリ (それが呼び出されたファイルのディレクトリ) に対して正しいポインタで参照する必要があります。

あなたの場合、イメージが存在しないメインディレクトリの2つのディレクトリからイメージを要求しています!!

使用するには:

<img src="images/banner.jpg" width="100%" />

于 2012-11-01T04:39:24.107 に答える
0
This should work:

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Banner</title>
</head>
<body>
<table width="100%">
<tr>
<td>
<img src="images/banner.jpg" width="100%" /></td>
</tr>
</table>
</body>
</html>
于 2012-11-01T04:33:12.270 に答える
0

index.php をロードすると、banner.php の場所は次の場所から始まります...

main\

banner.php だけを読み込むと、場所は...

main\php\lib\

両方で機能する 1 つの URL を持つことはできません。バナーを個別にロードする必要がありますか? バナーが index.php で機能するだけでよい場合は、行を次のように変更します...

<img src="images/banner.jpg" width="100%" /></td>

index.php からは機能しますが、banner.php をロードしたときは機能しません。

両方で機能させるには、それらを同じフォルダーにコピーするか、少なくともフォルダーの構造を少し変更する必要があります。

編集: このバナーが必要な他のファイルの場所を教えていただける場合は、リストしてください。並べ替える方法を試してみます。

于 2012-11-01T04:39:07.410 に答える
0

banner.php ファイルの body 要素内にコードを残すだけです。PHP は、ファイルの内容をそのまま受け取り、インクルード関数がある場所に挿入します。現在の形式のコードでは、ページの body 要素内に html 要素が含まれていますが、これは完全に間違っており、ブラウザで予期しない動作が発生する可能性があります。

また、パスは、HTML コードの元のファイルに対してではなく、ブラウザで実際にアクセスしている URL に対して相対的である必要があります。

次のようなレイアウトが機能します。

index.php

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Home</title>
</head>
<body>
<?php include("php/lib/banner.php"); ?>
</body>
</html>

バナー.php

<table width="100%">
<tr>
<td>
<img src="images/banner.jpg" width="100%" /></td>
</tr>
</table>

同じファイルの場所:

main\index.php  
main\php\lib\banner.php  
main\images\banner.jpg

インクルードは PHP ファイルを受け取り、それを処理し、その結果をそのままインクルードすることに注意してください。

于 2012-11-01T04:43:13.950 に答える
0

別の解決策は、イメージへの完全なパスを取得することです。

例えば:

<img src="http://yoururl/image_path"/>
于 2012-11-01T05:02:14.027 に答える