3

そこで、php インクルードを含むファイルを挿入しようとしていますが、何らかの理由で完全な URL では機能しません。

これは機能します:

<?php include 'menu.html' ?>

しかし、これはしません:

<?php include 'http://domainname.com/menu.html' ?>

何か案は?

4

6 に答える 6

9

include指定されたPHPファイルを含めて評価することを目的としています。ローカルでフェッチすると、PHPのように処理できます。完全なURLを介してフェッチすると、結果のHTMLが取得されます(理論的には...エラーのみが発生する可能性があります)。

サポートドキュメント

include 'menu.php' //Internally process a PHP file to generate HTML

また

file_get_contents('http://domainname.com/menu.php'); //Fetch resutling HTML
于 2012-11-13T21:59:53.583 に答える
8

php.iniを確認してください -

allow_url_include

ただし、本当に正当な理由がない場合は、使用しないでください。これは php の最悪の弱点の 1 つであり、深刻なセキュリティ上の脅威です。

于 2012-11-13T22:01:30.100 に答える
7

php.iniでリモートファイルを使用することはできますincludeか?

独自のドメインにある場合は、絶対URLを要求しても意味がありません。これにより、直接ファイル操作が非常に簡単な場合に、サーバーが自身への接続を開いてHTTP経由でファイルを取得するためです。

于 2012-11-13T21:59:03.667 に答える
1

includeタグは、他のPHPスクリプトファイルを参照するために使用することを目的としています。処理するのがスクリプトでない場合は、次の使用を検討することをお勧めします。

$FileContents = file_get_contents("http://www.domainname.com/menu.html");
于 2012-11-13T22:04:22.900 に答える
0

のように聞こえるallow_url_fopenか、allow_url_includeまたは両方が 0 (無効) に設定されていますphp.ini

includeただし、PHP スクリプトではHTMLを使用しないでください。他の回答もその問題に対処しているようです。

于 2012-11-13T22:00:50.303 に答える