日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(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)頁設計、網(wǎng)站建設、微信開發(fā)、APP開發(fā)、成都響應式網(wǎng)站建設等網(wǎng)站項目制作,到程序開發(fā),運營維護。創(chuàng)新互聯(lián)公司于2013年成立到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進行。專注于網(wǎng)站建設就選創(chuàng)新互聯(lián)公司

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

今天在處理用戶 excel 導入時,遇到個小問題

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

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

跟蹤

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

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

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

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

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ù)

當我把原始輸入數(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

到這里,我應該明白問題出在哪里了。

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

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

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

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

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

結束

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

更多相關知識,請訪問PHP中文網(wǎng)!
新聞名稱:php表單提交的數(shù)據(jù)丟失怎么辦
文章分享:http://www.dlmjj.cn/article/chosjh.html