CGIで解凍ツール(ZIP等)を起動するには?

[上に] [前に] [次に]
momo 1999/08/17(火) 18:57:26
CGIで圧縮されたファイルを解凍したいのですが、openかsystemを使用すると考えて良いのでしょうか?
また、サンプル等がありましたら教えてください。

\n [E-Mail] 1999/08/17(火) 20:26:41
>openかsystemを使用すると考えて良いのでしょうか?
それでいいと思います。

でも、perlをLinux上で使うとかの状況を書いた方がいいですよ。
WindowsやUnixなどのOSやgzipかzipを使うのか、といった情報が
あれば、もう少し詳しく書けますが・・・
#ログをサーバーで圧縮してダウンロードするスクリプトなら書いた
#事が有ります。

momo 1999/08/17(火) 20:31:46
\nさん ありがとうございます。
LinuxとUnix共通で使用したいと思ってます。
解凍ツールはZIPとLHAです。
\nさんスクリプトを少し公開してくれるでしょうか?
よろしくお願いします。

\n 1999/08/17(火) 21:08:32
>LinuxとUnix共通
どういう意味でしょうか?(^^ゞ
#もしかして汎用に使いたいと言う意味かしら?

OSで使用する外部ツールのコマンドを調べて、例えばLZHの解凍なら
lha e paced.lzh 等。
$command = 'lha e paced.lzh';
system($command);
とするだけです。

>スクリプトを少し公開してくれるでしょうか?
えぇ!そんなぁ、ヤダー恥ずかしい(*_*)

自分が作ったのは、複数ファイルを一つにまとめ、新規にアーカイブを
サーバー上に生成して処理の最後に、そのアーカイブへのリンクを
貼り付けただけのモノです。

展開する場合は、展開後にどのような形になるのか(ディレクトリ付きとか)
を考慮しなければならないので、ちょっと面倒ですよ。
その辺はそちらの環境と相談して、考えてみて下さい。

#ちなみにZIPの場合は、圧縮バージョンがかなり有るようで
#うまく展開できなかったりしましたし、UNIX用LZHはどの程度
#のサーバーへの設置率かまでは判りません。
#汎用だとこの辺が引っかかるかも。

momo 1999/08/17(火) 21:20:39
\nさん ありがとうございます。
LinuxとUnix共通にしたいと思ってますが、異なるのであれば分けます。また、解凍は1つのファイルだけです。
#ちなみにZIPの場合は、圧縮バージョンがかなり有るようで
#うまく展開できなかったりしましたし、UNIX用LZHはどの程度
#のサーバーへの設置率かまでは判りません。
#汎用だとこの辺が引っかかるかも。
momo ZIPは要注意ですね。
momo ありがとうございました。とにかくやってみます!

momo 1999/08/17(火) 21:23:09
\nさん ありがとうございます。
LinuxとUnix共通にしたいと思ってますが、異なるのであれば分けます。また、解凍は1つのファイルだけです。
#ちなみにZIPの場合は、圧縮バージョンがかなり有るようで
#うまく展開できなかったりしましたし、UNIX用LZHはどの程度
#のサーバーへの設置率かまでは判りません。
#汎用だとこの辺が引っかかるかも。
momo ZIPは要注意ですね。
momo ありがとうございました。とにかくやってみます!

\n 1999/08/17(火) 21:33:26
余談ですが、Linuxと言うのはUnix互換のOSという意味で、
大きく言うと Windows系・MAC系・UNIX系の3つがあります。
#これ以外のOSのファンのかたごめんなさい。

つまりLinuxはUnix系のOSと言う意味です。
他にも沢山のUnix系OSが有りますが、あまり沢山書くとボロが
出そうなのでこの辺で逃げます。(^^;

ふじ 1999/08/17(火) 21:43:58
UNIX上で、 tar + gzip 形式のファイルの圧縮、解凍なら、
Perl の Archive::Tar モジュールで可能ですが。

Perlで LZH や ZIP を扱えるモジュールはあるのかな・・・
#有効な情報でなくて済みません。

\n 1999/08/17(火) 21:55:08
Archive::Tarは知りませんでした。
っで、自分の環境で探したのですが見つかりませんでした。
これの実装はバージョンいくつからなんでしょう?
良ければ教えて下さい>ふじさん

ふじ 1999/08/17(火) 22:51:44
確か、標準のモジュールには含まれていなかったかと。
#書き忘れました(^^;

Windows環境なら、ActivePerlと PPM でインストール出来ますし、
UNIXなら CPAN から落っことしてくればよろしいかと。

B-Cus 1999/08/18(水) 07:43:05
UNIXではunzipとかlhaとかがあります(LZH=LHAじゃないっけ?)
でもまぁtar/tgzを使う方が何かと楽です。

> UNIX用LZHはどの程度のサーバーへの設置率かまでは判りません。
でかいプロバイダなら、インストールしてある確率は
ゼロに近いんじゃないかなぁ。調べたわけではないけど。
# 大手ほど、余計なものは入れてない・入れてくれないという印象が
# ある。

\n 1999/08/18(水) 15:31:44
ドモです。ふじさん、B-Cusさん。
やっぱCPANですか。
汎用に作るなら、設置率を考えないと下手にライブラリは使えないですね。

>LZH=LHAじゃないっけ?
一応、LHA.EXE=プログラム名、LZH=LHA.EXEでアーカイブされたファイルの
拡張子のはずです。

[上に] [前に] [次に]