0

我想包含一个文件,但$_get我不知道如何解释,但我试着举个例子。

我需要从这样的 URL 中包含一个文件

mysite.com/?=MYINCLUDETEXT

并写在<?php include('MYINCLUDETEXT.php'); ?>

谁告诉我,谢谢。

4

2 回答 2

1

这实际上会做你想要的

if (isset($_GET['file'])){
  include($_GET['file'].'.php');
}

您可能还想测试该文件,您正在尝试包含存在 file_exists 并且实际上是文件is_file而不是文件夹。

但是你必须明白,即使这样做,你也会在你的系统中制造一个大漏洞,并帮助那些想要入侵你的人。不仅更容易包含上传的文件(不仅是有效上传的文件),而且还允许包含来自服务器的随机文件。

于 2013-06-22T23:11:14.730 回答
0

为避免上述答案中描述的问题 - 将所有文件名(应包含在内)放入数组中,例如:

$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

于 2013-06-22T23:19:50.847 回答