嗨,伙计们,
我需要将大量文件从一台服务器传输到另一台服务器,作为我正在构建的应用程序的“更新/重新安装过程”。
到目前为止,文件已由主服务器通过FTP推送。这很好用,但我想摆脱存储客户端的FTP信息,并希望将push方法转换为pull方法。因此客户端单击“更新”,客户端服务器接收文件。
我一直在研究Phar,Zip和其他打包文件的方法,但它们需要扩展,我希望我的应用程序至少与扩展相关。
所以我使用JSON转移文件。主/源服务器将所有文件打包在JSON数组中,并根据请求将其发送到客户端服务器,客户端服务器循环遍历文件并保存它们。它适用于PHP,JavaScript等,但有些图像在此过程中已损坏。
我怀疑这是因为数据被转换为ASCII而不是二进制,因为当我使用FTP构建安装时遇到了同样的问题,当我转向二进制传输而不是ASCII时,图像不是更长时间腐败。
这里有人有解决方案让图像转移未损坏吗? 我使用file_get_contents,并在其他项目中使用它来打开和保存图像数据,所以我知道该函数可以处理它。我怀疑JSON需要做一些额外的编码或类似的东西来正确传输图像内容吗?
提前致谢
答案 0 :(得分:1)
尝试使用base64。这是使用php传输二进制数据的最简单方法。