YAMAGUCHI::weblog

海水パンツとゴーグルで、巨万の富を築きました。カリブの怪物、フリーアルバイター瞳です。

zip圧縮

フォルダをzip圧縮してそれをダウンロードさせたいけどうまくいかない。そもそもzip圧縮がうまくいかない。

exec("zip -qr foo.zip foo/*");

じゃあいかんのか?

■追記
その後うまくいったので追記です。
どうやらfooをユニークな名前にしておかないと、複数リクエストがあったときにステータスコード12*1になってしまうようです。というわけで、とりあえずfooの後にリクエストした時間を追加することで対処。
また、fooはフルパスにした方がよいとのことなので、フルパスに。その際にアーカイブ内でもそのディレクトリ構造が維持されないように、-jオプションを追加しました。つまり

exec("zip -jqr /path/foo.zip /path/foo/*");

詳しくはman

*1:zip has nothing to do