-4

Web サイトにいくつかの php インクルードを設定しようとしていますが、それらを機能させることができません。テスト コードは index.php にエコーしません。誰かがコードのエラーを見ることができれば、私はそれを感謝します. ありがとう

コード.php

<?php

$test1 = '123456';
$test2 = '1234567';
$test3 = '12345678';

?>

index.php

<html>
<head>
<title>Testing</title>
</head>
<body>

<span><?php include 'http://www.mydomain.com/includes/codes.php'; echo "$test1"; ?></span>
<span><?php include 'http://www.mydomain.com/includes/codes.php'; echo "$test2"; ?></span>
<span><?php include 'http://www.mydomain.com/includes/codes.php'; echo "$test3"; ?></span>

</body>
</html>
4

5 に答える 5

3

includeファイルを のようにすると、PHP は、ブラウザでhttp://www.mydomain.com/includes/codes.phpにアクセスしたときhttp://www.mydomain.com/includes/codes.phpとまったく同じように表示されます。

ローカル ファイルを含める必要があります。include 'includes/codes.php';

また、同じファイルを複数回含める必要もありません。

于 2013-06-06T14:32:56.060 に答える
1

絶対パスを使用することは想定されていません。代わりに相対パスを使用する必要があります。むしろ使いたい__DIR__

ファイルのディレクトリ。インクルード内で使用すると、インクルードされたファイルのディレクトリが返されます。これは dirname( FILE )と同等です。ルート ディレクトリでない限り、このディレクトリ名には末尾のスラッシュはありません。(PHP 5.3.0 で追加されました。)

于 2013-06-06T14:33:51.827 に答える
1

この SO の質問をご覧になることをお勧めします: PHP で 'allow_url_fopen' を許可する必要がありますか?

インクルードから外部の php ファイルにアクセスしようとしていますが、これは脆弱性の問題であり、回避する必要があります。

于 2013-06-06T14:37:05.727 に答える
1

URL (http) で include を使用する場合、サーバーは最初にファイルを解釈し、出力を取得します。したがって、codes.php で定義した変数にアクセスすることはできません。

code.php が index.php と同じディレクトリにある場合は、次の方法で含めることができます。

 include(dirname(__FILE__) . DIRECTORY_SEPARATOR . "codes.php";

また

 include('codes.php')

FILEは、現在のファイルのパスを使用する PHP 内のマジック変数です。これは、再びインクルードを持つファイルをインクルードする場合に便利です (静的ファイル パスを使用すると、この種のインクルードは混乱を招く可能性があります)。DIRECTORY_SEPARATOR は、Linux サーバーでは「/」を使用し、Windows サーバーでは「\」を使用します。

于 2013-06-06T14:40:51.080 に答える
1

をファイルの先頭に配置する<?php include('..'); ?>と、それに応じて各変数をエコーアウトできます。同じ場所を複数回含める必要はありません。

于 2013-06-06T14:35:09.727 に答える