ディレクトリの圧縮に問題があります。次の行でうまくいきますが、ルートディレクトリも含まれています。
exec('zip -r '.$tmp_zip.' '.$filename_no_ext.'/rss-ticker/*');
だから私はdirrss-tickerのすべてをzipしたいだけですこれを修正する方法は?
ご協力いただきありがとうございます
どのzipプログラムを使用していますか?tarあなたがそれを上に望むように動作し、そしてあなたはgzipそれをすることができます。
または、chdir()zipするディレクトリに移動し、パスを*-として指定します。これにより、現在の作業ディレクトリ内のファイルのみが取得されます。
希望どおりに機能させることができない場合(または可能であっても)、ZIP拡張機能またはこのサードパーティライブラリを試してください。純粋なPHPで実行すると、コードの移植性が向上します。
(自分自身に多くの痛みや頭痛を引き起こしたいという願望のように)そうしないという圧倒的な理由がない限り、あなたは本当にZipArchiveツールキットを使用するべきです。この質問でどのように例があります。
zipを使用できるようにすることに関してexec、私は2つのポイントに気づきました。
$filename_no_extそこに変数が必要になります。あなたがそれを持っているだけなら.。今のところ、から始めrss-tickerて/いるので、フォルダがファイルシステムのルートにあると想定しています。私はあなたがそれを望んでいないと思います。*コマンドライン機能を機能させるために末尾を付ける必要はありませんzip。