所以,我试图插入一个包含 php 的文件,但由于某种原因,它不适用于完整的 URL。
这有效:
<?php include 'menu.html' ?>
但这不会:
<?php include 'http://domainname.com/menu.html' ?>
有任何想法吗?
所以,我试图插入一个包含 php 的文件,但由于某种原因,它不适用于完整的 URL。
这有效:
<?php include 'menu.html' ?>
但这不会:
<?php include 'http://domainname.com/menu.html' ?>
有任何想法吗?
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
您是否php.ini
允许您使用远程文件include
?
如果它在您自己的域上,那么要求绝对 URL 是没有意义的,因为这会导致服务器打开与自身的连接以通过 HTTP 检索文件,而直接文件操作会简单得多。
不要使用绝对网址。相反,请尝试从根目录链接。像这样:
$path = $_SERVER['DOCUMENT_ROOT']."/layer1/layer2/layer3/";
include($path."file.php");
包含标记旨在用于引用其他 PHP 脚本文件。如果它不是您要处理的脚本,您可能需要考虑使用:
$FileContents = file_get_contents("http://www.domainname.com/menu.html");
听起来像allow_url_fopen
或allow_url_include
两者都被设置为 0(禁用)php.ini
。
但是, HTML 不应该include
在 PHP 脚本中。其他答案似乎也解决了这个问题。