在PHP中的Parllel处理

时间:2017-02-23 15:56:28

标签: php concurrency multiprocessing multitasking

我正在开发一个cakephp3.0 Web应用程序。在那里有一个上传视频页面。用户可以上传n个最大2GB的视频。所以我将视频作为多部分上传,但按顺序上传。就像使用for循环迭代一样,第一个视频将会出现,然后第二个视频将会出现,但问题是用户需要等待很长时间才能完成此上传任务并获得响应。我想以并发的方式进行上传,例如在不同的队列中同时上传多个视频。这样上传就可以很快完成。有没有办法在PHP中进行多处理。

1 个答案:

答案 0 :(得分:1)

如果您要并行上传,则会将客户端上传/服务器下载速度分成并行上传的数量。如果按顺序上传,则会在单个文件的两侧最大化此速度。所以你的最终结果将是完全相同的。

但是,如果您正在进行表单提交,则在所有上传成功之前,您的用户的浏览器确实会被锁定。你需要用户留在那里,所以没关系,但是应该有一些用户体验解决方案可以告诉用户发生了什么。

这就是为什么你应该拦截你的表单提交并使用javascript进行每次上传(顺序)。然后你可以添加一些UX来让用户看到一些进展。

您可以在此处找到有关使用JS上传的更多信息:

https://w3c.github.io/FileAPI/#FileReader-interface