フォルダ階層も圧縮せずに、2つのファイルを別のディレクトリに圧縮しようとしています。
このイベントはボタンを押すことでトリガーされ、JavascriptはAJAXを使用してPHPに情報を送信します。PHPはPerlスクリプトを呼び出し(PerlのXLSXライターモジュールとPHPの種類が悪いという事実を利用するために、しかし私は逸脱します...)、ファイルを階層のいくつかのフォルダーに配置します。関連するコードを以下に示します。
system("createFiles.pl -ids ${rows} -test ${test} -path ${path}",$retVal);
`zip ${path}/{$test}_both.zip ${path}/${test}.csv ${path}/${test}.xlsx`;
`zip ${path}/{$test}_csv.zip ${path}/${test}.csv`;
問題は、zipファイルに${path}
階層があり、ファイルが次のように表示される前にナビゲートする必要があることです。
私はこれをやってみました(各zipコマンドの前にcd):
system("createFiles.pl -ids ${rows} -test ${test} -path ${path}",$retVal);
`cd ${path}; zip {$test}_both.zip ${test}.csv ${test}.xlsx`;
`cd ${path}; zip {$test}_csv.zip ${test}.csv`;
そしてそれはうまくいきました、しかしそれはハックのようです。もっと良い方法はありますか?