PHP filter_input_array for $ _FILES?

时间:2012-02-28 21:14:02

标签: php post filtering

嘿伙计们,我只是想知道是否有办法filter_input_array $_FILES

我试过

$ar = filter_input_array(INPUT_FILES, $args);

但它似乎与$ _POST

的语法不同
$pd = filter_input_array(INPUT_POST, $args);

快速检查Constants List后,表明它不是filter_input_array的已安装定义

那么,我应该用其他方式来定义它吗? DEFINE('INPUT_FILES' $_FILES);喜欢 在filter_var_array喜欢

中抛出错误
Warning: Constants may only evaluate to scalar values in .... Line 2
Warning: filter_input_array() expects parameter 1 to be long, string given .... Line 37

由于

4 个答案:

答案 0 :(得分:4)

您无法在$_FILES上使用filter_input_arrayfilter types都不适合文件上传。

来自filter_input_array上的PHP手册:

mixed filter_input_array ( int $type [, mixed $definition ] )
  
    

类型

         

其中一个 INPUT_GET INPUT_POST INPUT_COOKIE INPUT_SERVER INPUT_ENV

  

您想要从文件中过滤的具体方式是什么?

答案 1 :(得分:4)

尝试使用filter_var_array来过滤$ _FILES。

filter_var_array($_FILES, $filters);

答案 2 :(得分:1)

根据php手册,filter_input_array没有INPUT_FILES。我不确定DEFINE是否会产生你想要的答案。

查看filter_input_array

的php手册

另请查看此帖子,这可能对您有所帮助。 PHP can (should) I array_map filter_var to $_POST

编辑: 您将无法为此功能定义新类型。

答案 3 :(得分:0)

请参阅:filter_input_array

您将看到INPUT_FILES不是要使用的有效常量。