Full URL not working with php include

瘦欲@ 提交于 2019-11-28 02:08:52

check php.ini -

allow_url_include

but I have to say, if you don't have really really good reason, please don't use it. It's one of the worst php weaknesses, serious security threat.

Does your php.ini allow you to use remote files with include?

If it's on your own domain then it makes no sense to require the absolute URL, as this would cause the server to open a connection to itself to retrieve the file via HTTP when a direct file operation would be so much simpler.

include is meant to include and evaluate a specified PHP file. If you fetch it locally, it can be processed like PHP - if you fetch it through a full URL, you will get the resulting HTML (in theory ... you may get only an error).

Supporting Docs

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

or

file_get_contents('http://domainname.com/menu.php'); //Fetch resutling HTML

An include tag is meant to be used to reference other PHP script files. If it is not a script that you are going to be processing, you might want to look into using:

$FileContents = file_get_contents("http://www.domainname.com/menu.html");

Don't use absolute urls. Instead, try linking from the root directory. Like this:

$path = $_SERVER['DOCUMENT_ROOT']."/layer1/layer2/layer3/";
include($path."file.php");

Sounds like allow_url_fopen or allow_url_include or both have been set to 0 (disabled) in php.ini.

HTML should't be included in a PHP script, though. Other answers seem to address that issue as well.

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!