読者です 読者をやめる 読者になる 読者になる

YAMAGUCHI::weblog

土足で窓から失礼いたします。今日からあなたの息子になります。 当年とって92歳、下町の発明王、エジソンです。

zip圧縮

PHP

フォルダを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