• ベストアンサー

PHPで複数のファイルをまとめて圧縮

恐れ入ります。 現在、PHPでサーバーに置いてある複数のjpgファイルを一つに圧縮(書庫化)して、ダウンロードできないか考えています。 UNIXのzipコマンドと同じ作業をPHPからでも実行できるかどうか、ということです。 具体的な使い道はアルバム用としてアップした画像群をzipファイル化してダウンロードしていただくためです。 色々調べてみましたが、zlib圧縮関数などでは上記のことはできないような気がします・・・。 どなたか知っている方がいればアドバイスのほど宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

うちでは、PHPをつかったシェルスクリプトで、ファイルのバックアップを行っています。 結論から言うと、SYSTEM関数でtarコマンドを起動しています。

wanna
質問者

お礼

的確な情報をありがとうございます! こんなに便利な関数があるとは知りませんでした。 試しにSYSTEM関数を使って system('zip -q test.zip 001.jpg file2.jpg'); とPHPに書いたところ、しっかりzipファイルができていました! 今回は大変お世話になりました。ありがとうございます。

すると、全ての回答が全文表示されます。

その他の回答 (1)

回答No.2

使ったことはないけれど、 pear ライブラリの中に File_Archive というものがあり、これが使えそうです。 インストール は、 pear install File_Archive いくつか、依存関係のあるラリブラリが表示されるかもしれませんが、それもインストールすればいいんでしょう。 マニュアルは、ここにありました。 http://poocl.la-grotte.org/index.php メールなんかにも使えるメソッドもあるみたいだし、意外と便利かもしれない。

参考URL:
http://poocl.la-grotte.org/index.php
wanna
質問者

お礼

PEARのDBクラスやユーザ管理用のクラスは知っていましたが、アーカイブ用のクラスもあるんですね。 大変勉強になりました。今度PEARを利用した圧縮もやってみたいと思います。ありがとうございます!

すると、全ての回答が全文表示されます。

関連するQ&A