我想自动执行以下操作: 每天一次,我的cronjob启动一个PHP脚本,从URL获取压缩的XML文件。
处理此问题的最佳方法是什么?有没有办法直接从zip文件中读取XML文件?
现在,我只是将压缩文件下载到服务器并在当天晚些时候手动解压缩。
有什么想法吗?所有的建议都非常受欢迎。
答案 0 :(得分:3)
您可以使用PHP的ZipArchive和cURL一起下载并阅读zip文件。
此外,ZipArchive类有一个名为getStream的方法,允许您使用fread
访问内容而不显式提取文件。
我看到的唯一问题是,如果必须将zip保存在PHP的库中以便读取它。但是,鉴于你已经这样做了,这应该不是问题。
如果您需要一个例子,请给我留言,我可以写一下。
答案 1 :(得分:1)
可以在PHP中使用zip-related functions的集合。
这些问题是它需要压缩文件存在于服务器上(而不仅仅是使用例如$file = file($url);
从外部服务器加载)。
如果您要将文件保存到服务器,则可以使用$zip = zip_open($filename)
和zip_read($zip)
来处理zip文件。