我想包含一个文件,但$_get
我不知道如何解释,但我试着举个例子。
我需要从这样的 URL 中包含一个文件
mysite.com/?=MYINCLUDETEXT
并写在<?php include('MYINCLUDETEXT.php'); ?>
谁告诉我,谢谢。
这实际上会做你想要的
if (isset($_GET['file'])){
include($_GET['file'].'.php');
}
您可能还想测试该文件,您正在尝试包含存在 file_exists 并且实际上是文件is_file而不是文件夹。
但是你必须明白,即使这样做,你也会在你的系统中制造一个大漏洞,并帮助那些想要入侵你的人。不仅更容易包含上传的文件(不仅是有效上传的文件),而且还允许包含来自服务器的随机文件。
为避免上述答案中描述的问题 - 将所有文件名(应包含在内)放入数组中,例如:
$pages_array=('home','services','contact').
然后检查 GET var:if(!in_array($_GET['page'], $pages_array) { die(); }
因为您可能需要一些其他 $_GET 值/变量,所以我建议您使用 $_GET['page'] - 用于包含...您以后可以添加 mod rewrite 以将页面显示为“正常”网址...例如
www.yoursite.com/index.php?page=contact,可以改写为:www.yoursite.com/contact.html