php – 通过HTTP上传大文件

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php – 通过HTTP上传大文件脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我需要从桌面应用程序上传一个服务器上的可能很大的(如10到100的兆字节)文件.服务器@L_512_3@用 PHP编写,桌面应用程序在C / Mfc中.我希望能够在上传失败的时候恢复文件上传,因为这个软件将被用于不可靠的连接.我有什么选择?我发现了许多C上的HTTP上传组件,例如 http://www.chilkatsoft.com/refdoc/vcCkUploadRef.html,它看起来不错,但似乎并没有处理一上传的’resume'(我认为这是因为HTTP 1.1不支持).我也看过BITS服务,但上传它需要一个IIS服务器.到目前为止,我唯一的选择似乎是将我要上传文件切成较小的部分(比如每个1兆像素),将它们全部上传到服务器,并用PHP重新组合,并运行校验和,看看是否一切正常.要恢复,我需要在上传开始时采取某种形式的“握手”,以确定服务器上已经有哪些部分.我必须手动编码,还是有人知道一个图书馆,为我做这一切,甚至是一个完全不同的解决方案?由于维护原因,我宁愿不要转换到支持简历的另一个协议(火墙等的潜在问题)
我迟了八个月,但我只是偶然发现了这个问题,并且很惊讶,没有提到webDAV.您可以使用HTTP PUT方法上传,并包含一个Content-Range标头来处理恢复等. HEAD请求会告诉您文件是否已经存在,它是多大的.所以也许这样的事情:

1)HEAD远程文件

2)如果它存在,并且size ==本地大小,上传已经完成

3)如果尺寸<本地大小,添加一个Content-Range标头来请求并寻找到本地文件中的适当位置. 4)使PUT请求上传文件(或文件的一部分,如果恢复) 5)如果在PUT请求期间连接失败,请重新开始步骤1 您还可以列出(PROPFIND)和重命名(MOVE)文件,并用dav创建目录(MKCOL). 我相信apache和Lighttpd都有dav扩展.

脚本宝典总结

以上是脚本宝典为你收集整理的php – 通过HTTP上传大文件全部内容,希望文章能够帮你解决php – 通过HTTP上传大文件所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。