$ _GET里面包含来自URL?

时间:2013-06-22 23:06:15

标签: php include

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

我需要像这样包含来自URL的文件

mysite.com/?=MYINCLUDETEXT

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

任何人都告诉我,谢谢。

2 个答案:

答案 0 :(得分:1)

这实际上会做你想要的事情

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

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

但你必须明白,即使这样做,你也会在你的系统中造成严重的违规行为并帮助那些想破解你的人。 不仅包含上传文件(不仅是有效上传的文件)变得更容易,而且还允许包含服务器中的随机文件。

答案 1 :(得分:0)

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

$pages_array=('home','services','contact').

然后检查GET var:if(!in_array($_GET['page'], $pages_array) { die(); }

因为您可能需要一些其他的$ _GET值/ vars,我建议您使用$ _GET ['page'] - 包含...您可以稍后将mod重写添加到显示页面作为'普通'网址。例如

www.yoursite.com/index.php?page=contact,可以改写为:www.yoursite.com/contact.html