【问题标题】:Possible types of $_POST and $_GET values$_POST 和 $_GET 值的可能类型
【发布时间】:2010-11-23 14:15:45
【问题描述】:

是否可以通过$_GET$_POST 中的任何类型的值(不是数组或字符串)?

对于那些阅读代码更好的人来说,是否有可能在 web 服务器上运行这个简单的脚本 并让它抛出异常?

// crash-me.php
<?php

function must_be_array_or_string($value) {
    if(is_string($value))
        return;
    if(is_array($value)) {
        foreach($value as $subValue)
            must_be_array_or_string($subValue);
        return;
    }
    throw new Exception("Value is " . gettype($value));
}

if(isset($_GET))
    must_be_array_or_string($_GET);

if(isset($_POST))
    must_be_array_or_string($_POST);

【问题讨论】:

    标签: php types


    【解决方案1】:

    除了文件上传,值总是字符串或数组。

    【讨论】:

    • $_POST$_GET 中不存在文件上传,您必须检查 $_FILES 以获取有关文件上传的信息(即使这样,内容仍然是数组和字符串)。
    • @dcouineau:你确定吗?我相信$_FILES 中的error 索引包含整数,例如UPLOAD_ERR_OK
    • 您的答案有来源吗?是否存在$_GET[$someKey]$_POST[$someKey] 可以生成大小为
    【解决方案2】:

    我相信在文件上传的情况下,'error''size' 字段将是 ints

    【讨论】:

      猜你喜欢
      • 2018-06-29
      • 1970-01-01
      • 1970-01-01
      • 2012-01-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-24
      • 1970-01-01
      相关资源
      最近更新 更多