我有一个 PHP 脚本,它从远程设备接收图像并将它们保存到数据库中。从 Apache 启动的脚本首先接收定义上传内容的标头,然后接收上传图像的内容,所有这些都作为单个多部分传输。成功添加图像后,它会回复设备确认信息。
现在的问题是连接不是很可靠。有时传输超时。这不会是一个问题,因为如果设备没有收到确认,它会在一段时间后重新发送数据。除非传输中途中断,Apache 照常启动脚本,脚本愉快地将不完整的图像集保存到数据库中,并将它们的创建时间戳作为唯一键。然后远程设备重新发送数据,然后脚本正确接收数据,但由于唯一密钥已被损坏的数据占用,因此无法保存。
是否有一些可靠的方法可以从 PHP 脚本中判断它是在不完整的多部分传输时启动的,或者如果传输没有成功结束则阻止 Apache 启动它?
(我们不能真正改变从远程设备接收到的数据库结构或格式。)