真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

php表單提交的數(shù)據(jù)丟失怎么辦

php數(shù)據(jù)丟失的解決辦法:首先查看表單提交請求完整性;然后查看請求數(shù)據(jù)是否超過php或nginx限制;接著直接通過“file_get_contents('php://input')”獲取原始請求數(shù)據(jù);最后修改max_input_var數(shù)量。

改則網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)公司!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、成都響應(yīng)式網(wǎng)站建設(shè)等網(wǎng)站項目制作,到程序開發(fā),運營維護(hù)。創(chuàng)新互聯(lián)公司于2013年成立到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)公司

PHP 表單提交的數(shù)據(jù)丟失問題

今天在處理用戶 excel 導(dǎo)入時,遇到個小問題

需求是這樣的:用戶導(dǎo)入 excel 后,用 PHPExcel 讀取導(dǎo)入數(shù)據(jù),渲染一個表單,用戶通過查看表單,確認(rèn)導(dǎo)入的數(shù)據(jù)完整性,最后在確認(rèn)入庫。

但由于用戶 excel 導(dǎo)入的數(shù)據(jù)比較多,表單渲染后有超過 6000 個 input, 并且提交時(POST)是直接采用的表單提交,導(dǎo)致后臺只能讀取前面一小部分?jǐn)?shù)據(jù)。

跟蹤

1.查看表單提交請求完整性

通過跟蹤提交時的 http 請求,發(fā)現(xiàn)所有數(shù)據(jù)都正常提交。

2.查看請求數(shù)據(jù)是否超過 php 或 nginx 限制

通過查看 Request Headers 下的 Content-Length 發(fā)現(xiàn)只有僅為 218558 B 也就是 20KB 左右。這肯定沒達(dá)到限定值。

3.直接通過 file_get_contents('php://input') 獲取原始請求數(shù)據(jù)

由于直接用 $_POST 獲取的數(shù)據(jù)只有一少部分,故直接用 php://input 獲取原始輸入數(shù)據(jù),打印出來時發(fā)現(xiàn)這種發(fā)送獲取的數(shù)據(jù)是完整的。

4.通過函數(shù) parse_str 解析原始請求參數(shù)

當(dāng)我把原始輸入數(shù)據(jù)用 parse_str 解析時

...
$origin = file_get_contents('php://input');
parse_str($origin, $result);
var_dump($result);

我得到了一個錯誤

Warning: parse_str(): Input variables exceeded 1000. To increase the limit change max_input_vars in php.ini

到這里,我應(yīng)該明白問題出在哪里了。

5.修改 php.ini 中 max_input_var 數(shù)量

# 默認(rèn)的 php.ini 配置
# How many GET/POST/COOKIE input variables may be accepted
# max_input_vars = 10000

默認(rèn)的配置只允許請求(GET/POST/COOKIE)的 input 數(shù)為 1000 個。

適當(dāng)?shù)男薷牧?php.ini 中 max_input_var 的值后,問題解決。

當(dāng)然,最后是通過 ajax 提交 json 格式數(shù)據(jù)解決的,畢竟修改 php.ini 的配置還是不太理想!

結(jié)束

由于沒有留意到 php 還有這個限制,導(dǎo)致在這兒翻車了

更多相關(guān)知識,請訪問PHP中文網(wǎng)!
新聞標(biāo)題:php表單提交的數(shù)據(jù)丟失怎么辦
分享地址:http://weahome.cn/article/chosjh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部