プログラムからあるファイルをzip圧縮するというのをしたくて、簡単に
exec('zip -q hoge.zip hage.jpg')
と書いた訳だが、動かそうとしているプログラムから見た場合、圧縮するファイルも圧縮後のzipファイルも1階層上の別ディレクトリだった。なので
exec('zip -q ../dir/hogehoge.zip ../dir/hoge.jpg')
としてみたが、圧縮後のhoge.zipを展開するとhoge.jpgがあるディレクトリごと圧縮されているような形になっていた。解凍するとすぐにhoge.jpgが現れるようにしたかったのでいろいろ調べてみた。
zip -j ../dir/hogehoge.zip ../dir/hoge.jpg
む?-jなんてオプション見たことない〜。これで出来上がったzipファイルを解凍するとhoge.jpg単体だけでてきた。いろいろオプションあるんだねぇ。