表单提交的数据超过1000条时,分别用 `php://input`、 `$_POST`获取,`$_POST`总是要少一些

有个表单提交了1000条以上的数据

<input type="checkbox" name="order_ids[]" value="1" >
<input type="checkbox" name="order_ids[]" value="2" >
<input type="checkbox" name="order_ids[]" value="3" >
...
<input type="checkbox" name="order_ids[]" value="1900" >

提交后在后台分别用这两个输出内容

  1. file_get_contents('php://input')

    string(19755) "order_ids%5B%5D=1&order_ids%5B%5D=2&order_ids%5B%5D=3&......&order_ids%5B%5D=1900
  2. $_POST

    array(1) {
     ["order_ids"] => array(898) {
       [0] => string(5) "1"
       [1] => string(5) "2"
       [2] => string(5) "3"
       ......
       [1000] => string(5) "10001"
     }

    }

当数据量超过1000时,file_get_contents('php://input')输出了我要的结果,但是$_POST却是1001条数据,然而1000以下时又不存在该情况,是我 php.ini 配置的问题限制了POST的大小?
求解

qq_遁去的一_1
浏览 423回答 2
2回答

holdtom

php.ini 可以设置post最大可提交大小。默认是2M。
打开App,查看更多内容
随时随地看视频慕课网APP