2011-07-15 13 views
0

私は以下を自動化したい: 1日に1回、私のcronjobがURLからzip形式のXMLファイルを取得するPHPスクリプトを起動する。PHP XMLフィードをzipファイルにパックする

これを処理するにはどうすればよいでしょうか? zipファイルからXMLファイルを直接読み取る方法はありますか?

今、私はちょうどZipファイルをサーバーにダウンロードし、その日後に手動で解凍しています。

アイデア?すべての提案は大歓迎です。

答えて

3

cURLと結合したPHPのZipArchiveを使用して、zipファイルをダウンロードして読み取ることができます。

また、ZipArchiveクラスにはgetStreamというメソッドがあり、明示的にファイルを抽出することなくコンテンツにアクセスするためにfreadを使用できます。

私は、zipを読むためにPHPのライブラリのどこかに保存しなければならないという唯一の問題があります。しかし、あなたがすでにこれをやっているのであれば、それは問題ではありません。

例が必要な場合は、私にコメントを残しておいてください。

+0

偉大な、明確な答え、thx! –

1

PHPで使用できるzip-related functionsのコレクションがあります。

これらの問題は、圧縮されたファイルがサーバー上に存在する必要があることです(たとえば、$file = file($url);などの外部サーバーから読み込まれるだけではありません)。

ファイルをサーバーに保存する場合は、$zip = zip_open($filename)zip_read($zip)を使用してzipファイルを処理できます。

関連する問題