我在處理大量數據的項目中有一個步驟表單。爲防止在創建過程中發生錯誤,所有信息都存儲在客戶端,並最終發送到服務器。將大量數據發送到PHP服務器的可能方法
發送到服務器的信息是這樣的:
{
name: "project1",
decription: "lot of text",
schedule:[{weekDay:1, startHour:"09:00", endHour:"15:00"}, ...]
tasks:["task1", "task2"... until 20/30],
files:[{file1}, {file2}, ...],
services:[{
name: "service1",
decription: "lot of text",
schedule:[{weekDay:1, startHour:"09:00", endHour:"15:00"}, ...]
tasks:["task1", "task2"... until 20/30],
files:[{file1}, {file2}, ...],
jobs:[{
name: "job1",
decription: "lot of text",
schedule:[{weekDay:1, startHour:"09:00", endHour:"15:00"}, ...]
tasks:["task1", "task2"... until 20/30],
files:[{file1}, {file2}, ...]
},{
name: "job2",
}
]
...
},{
name:"service2",
...
}
}
等等.. 這是一個真正的降低例如,在一個真實的環境將有1個項目約10-15服務,每個人有4-5個工作。
我已經能夠在最後一級處理大約15個項目的所有東西,現在我正試圖預先處理數據,以便在發送之前刪除服務器中不需要的對象,並且我希望能夠發送超過50個項目在最後一級而不會觸發「max_input_variables exceeded xxx」服務器端。但是,在某些情況下,仍然會非常接近極限。
我在考慮改變發送/接收數據的方式,但我不確定我的猜測是否正確。
在一些建議json請求防止輸入變量錯誤之前,請求必須蜜蜂multipart/form-data來發送文件。
說,我的猜測是以下幾點:
安裝的所有數據作爲單個變量JSON和保持分離變量文件(FORMDATA會是什麼樣子
{project:{hugeJSON}, files:[file1, file2], services:[{files:[...]}, {files:[...]}] }
)發送表單中的部分數據填充到服務器並存儲在某個地方(tmp文件將是我最好的選擇),並且在最後一步中只發送主要表單信息。
可能是一個愚蠢的猜測,但有沒有像發送分塊數據?理想情況下,我想向用戶展示一個加載欄,說「創建項目 - >保存服務nº1 - >生成服務1的文檔...」我認爲我可以實現這一點,使我的服務器端腳本生成大塊的反應,但不確定。
那麼,任何幫助,可以告訴我正確的方式將非常感激。
坦克你提前。