91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何解決php表單提交的數據丟失的問題

發布時間:2020-07-16 14:13:49 來源:億速云 閱讀:262 作者:Leah 欄目:編程語言

這期內容當中小編將會給大家帶來有關如何解決php表單提交的數據丟失的問題,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

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

PHP 表單提交的數據丟失問題

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

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

如何解決php表單提交的數據丟失的問題

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

跟蹤

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

通過跟蹤提交時的 http 請求,發現所有數據都正常提交。

2.查看請求數據是否超過 php 或 nginx 限制

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

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

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

4.通過函數 parse_str 解析原始請求參數

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

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

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

適當的修改了 php.ini 中 max_input_var 的值后,問題解決。

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

結束

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

上述就是小編為大家分享的如何解決php表單提交的數據丟失的問題了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

台山市| 大庆市| 西城区| 科尔| 桐庐县| 仙游县| 类乌齐县| 大港区| 通河县| 宝山区| 乌拉特后旗| 徐州市| 花莲市| 禄丰县| 华容县| 辽宁省| 田阳县| 绥滨县| 咸阳市| 黄浦区| 会泽县| 双辽市| 阳山县| 永登县| 阜南县| 定安县| 广平县| 武夷山市| 营山县| 石林| 图木舒克市| 惠州市| 罗源县| 龙泉市| 嵊州市| 永济市| 马边| 双牌县| 颍上县| 绥化市| 伊通|