gpt4 book ai didi

修改 $_POST, $_FILES 的 PHP 模块

转载 作者:搜寻专家 更新时间:2023-10-31 21:39:50 26 4
gpt4 key购买 nike

我想编写一个 PHP 模块来修改 $_POST 和 $_FILES 变量。目标是在模块中进行预处理,例如,规范化输入,不允许带有某些扩展名的文件。

这可能吗?似乎you can't modify the $_FILES variable但是,如果你有一个扩展,你可能能够 modify these variables during the RINIT phase .

我该怎么做?

编辑:澄清

我想规范化数据并不是一个很好的例子。我更感兴趣的是它是如何完成的,并且更多地了解 PHP 和模块。

例如,有一个 function that reorganizes $_files .我认为编写一个自动执行此操作的模块会很有趣,就像一项学术练习一样,我正在寻找从哪里开始的指示。

最佳答案

也许将“请求”封装为一个对象(PO​​ST/GET 甚至 FILES 等)会更好。然后只引用这个对象而不是各个变量范围。

这将允许您创建所述对象的新实例并执行您选择的任何方法,或者在整个“模块”的客户端代码中使用它(您也可以修改/规范化它)。此外,这样做时不需要修改超模型。

非常快速的插图,可以很容易地扩展:

  class Request
{
protected $params = array();

public function __construct()
{
return $this;
}

public function getParam($key)
{
if (isSet($_params[$key])) {
return $_POST[$key];
} else if (isSet($_GET[$key])) {
return $_GET[$key];
} else if ($_POST[$key]) {
return $_POST[$key];
} else if ($_FILES[$key]) {
// do something special with files here
}
}

public function setParam($key, value);

public function getParams();

public function getPostParams();

...etc...etc
}

关于修改 $_POST, $_FILES 的 PHP 模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12503267/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com