Php 如何在并行上载时检查后端中的空间(线程安全)

Php 如何在并行上载时检查后端中的空间(线程安全),php,multithreading,file-upload,parallel-processing,thread-safety,Php,Multithreading,File Upload,Parallel Processing,Thread Safety,我正在使用dropzone.js构建一个图像上传系统,在这个系统中,每个用户最多可以上传8张图像。由于该参数,我必须在后端进行检查,并仅在成功时保留图像,但是。。。使用dropzone.js,我可以将单个请求并行上传,然后在每个图像(UX)上获得更快的响应。在dropzone.js发出请求之前,我有一些前端验证来检查是否达到了限制 例如:假设用户已经上传了6张图片。然后他们尝试使用并行上传系统再上传6个。如果我让每个请求返回当前图像的数量,它们都将返回6个,因此它们都被上载和持久化 我的问题是,

我正在使用dropzone.js构建一个图像上传系统,在这个系统中,每个用户最多可以上传8张图像。由于该参数,我必须在后端进行检查,并仅在成功时保留图像,但是。。。使用dropzone.js,我可以将单个请求并行上传,然后在每个图像(UX)上获得更快的响应。在dropzone.js发出请求之前,我有一些前端验证来检查是否达到了限制

例如:假设用户已经上传了6张图片。然后他们尝试使用并行上传系统再上传6个。如果我让每个请求返回当前图像的数量,它们都将返回6个,因此它们都被上载和持久化

我的问题是,如何计算后端是否达到了限制?如果我只是对当前图像进行计数,那么所有并行请求都将返回相同的结果,因为它们都在同一时间到达后端。正因为如此,它们都是持久的

我期待着收到你的来信

谢谢。

好吧,把客户端选择的图片数量加上从服务器端收到的图片数量。当然,这是一个选项,但不是可选的。。。我需要后端能够自己处理验证,而不需要客户机助手…对于只在服务器端进行验证,不可能有真正的解决方案,因为并非所有信息都存在于此。所以,你所能做的就是,当极限被打破时,再做出反应。这实际上是一种很好的广泛策略:将客户端和服务器端验证结合起来。客户端验证对于用户体验很重要,服务器端验证对于安全性很重要。因此,你结合了两个世界的优点。当然,可以操纵客户端验证,但这不会真正导致任何结果,因为服务器端验证仍然可以防止误用,所以一切都是安全的。谢谢你,@arkascha