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