将大量数据发送到PHP服务器的可能方法

问题描述:

我在处理大量数据的项目中有一个步骤表单。为防止在创建过程中发生错误,所有信息都存储在客户端,并最终发送到服务器。将大量数据发送到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的文档...”我认为我可以实现这一点,使我的服务器端脚本生成大块的反应,但不确定。

那么,任何帮助,可以告诉我正确的方式将非常感激。

坦克你提前。

完成填充对象后,您应将其串化并将其作为后置参数发送到服务器。

一旦您在服务器端收到它,您可以解析JSON并继续工作。