PHPのプログラムで指定したフォルダを圧縮するにはどうしたらいいのでしょうか?

zlibオプションは付与されています。
バージョンは4.3以上です。
フォルダ指定って出来ないんでしょうか?

回答の条件
  • 1人5回まで
  • 登録:2006/09/12 10:44:34
  • 終了:2006/09/12 15:41:06

回答(5件)

id:agguy No.1

agguy回答回数136ベストアンサー獲得回数32006/09/12 10:52:28

ポイント20pt

/dir/

以下を圧縮するとして

system( "tar czvf TestPackage.tar.gz /dir" , $ret );

でいけませんか。

id:hopefully

だめでしたね。

なので、system( "zip -q TestPackage.gz /test/aaa/200609" );

とすると圧縮は出来るのですが

解凍すると、/test/aaa/というフォルダ名まで

作成出来てしまいます。

これはしょうがないのでしょうか?

出来れば解凍したら200609フォルダだけになって

欲しいのですが?

2006/09/12 11:23:44
id:agguy No.2

agguy回答回数136ベストアンサー獲得回数32006/09/12 11:55:32

ポイント20pt

解凍(展開)の時に、解凍先のディレクトリを指定できませんか?

id:hopefully

解凍時にフォルダをひとつにしたいのですが?

2006/09/12 12:19:29
id:ezinfo No.3

ezinfo回答回数5ベストアンサー獲得回数02006/09/12 12:45:20

ポイント20pt

PEAR :: Package :: Archive_Zip

Archive_Zipを使用してみては如何でしょうか。

PHPのバージョンによって使える・使えないがあるのかはわかりませんがver.4.3.11では利用出来ています。

圧縮するディレクトリについても指定出来ると思います。

id:hopefully

これはどのように使うのでしょうか?

2006/09/12 15:15:07
id:lains_you No.4

lains_you回答回数50ベストアンサー獲得回数102006/09/12 13:08:00

ポイント20pt

system("cd /test/aaa;zip -q /TestPackage.gz ./200609;cd -");


 出力ファイルの出力ディレクトリを考える必要がありますが、一度カレントディレクトリを変更し、200609ディレクトリのみを圧縮するように指定したらどうでしょうか?

id:hopefully

linux上で、unzipで解凍すると中身がないのですがもしかしたら、ディレクトリ内のサブディレクトリまでは、圧縮対象ではないのでしょうか?

ファイルがないからですかね?

2006/09/12 15:10:21
id:lains_you No.5

lains_you回答回数50ベストアンサー獲得回数102006/09/12 15:31:41

ポイント20pt

 zipコマンドでファイル、サブディレクトリを含めて再帰的に圧縮する場合は、-rオプションを付けてください。


【 zip 】 ファイルを圧縮する(拡張子.zip):ITpro

http://itpro.nikkeibp.co.jp/article/COLUMN/20060228/231001/

id:hopefully

ありがとうございます。

ですが

system("cd /test/aaa;tar cvf 200609.tar.gz 200609");

で出来ました。

ですが、linux上で、クーロンでPHPを実行すると

* 200609/ 0K

というのが出力されるのですが、

このメッセージ等を消すことは出来るのでしょうか?

2006/09/12 15:36:38
  • id:kurukuru-neko

    tar manual
    http://www.linux.or.jp/JM/html/GNU_tar/man1/tar.1.html

    抜粋
    -C, --directory DIR
    DIRにcdしてから動作を行なう:

    -v, --verbose
     処理したファイルの一覧を詳しく出力する

    -z, --gzip, --ungzip
    アーカイブをgzipにフィルターする

    詳細は、上記URL参照

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません