0

我有一个 PHP 脚本,它从远程设备接收图像并将它们保存到数据库中。从 Apache 启动的脚本首先接收定义上传内容的标头,然后接收上传图像的内容,所有这些都作为单个多部分传输。成功添加图像后,它会回复设备确认信息。

现在的问题是连接不是很可靠。有时传输超时。这不会是一个问题,因为如果设备没有收到确认,它会在一段时间后重新发送数据。除非传输中途中断,Apache 照常启动脚本,脚本愉快地将不完整的图像集保存到数据库中,并将它们的创建时间戳作为唯一键。然后远程设备重新发送数据,然后脚本正确接收数据,但由于唯一密钥已被损坏的数据占用,因此无法保存。

是否有一些可靠的方法可以从 PHP 脚本中判断它是在不完整的多部分传输时启动的,或者如果传输没有成功结束则阻止 Apache 启动它?

(我们不能真正改变从远程设备接收到的数据库结构或格式。)

4

1 回答 1

1

检查您设备的应用程序代码是否有发送超时。也许连接太慢了,当达到时间限制时它会刹车。在这种情况下,尽管 Content-Length 标头不匹配,apache 服务器仍会运行带有部分接收数据的 php 脚本。

于 2013-03-04T10:13:52.223 回答