2011-10-21 11 views
0

ディレクトリを圧縮しているときに問題があります。 次の行はトリックを行いますが、ルートディレクトリも含みます。exec zip root path

exec('zip -r '.$tmp_zip.' '.$filename_no_ext.'/rss-ticker/*'); 

だから私はこの問題を解決する方法のdir RSSティッカー ですべてをzip圧縮したいですか?

ありがとうご協力ありがとうございます

答えて

0

(痛みや頭痛の原因になりたくない)圧倒的な理由がない限り、実際にはZipArchiveツールキットを使用する必要があります。方法の例はthis questionです。あなたは間違いなくそこに$filename_no_ext変数が必要になります

  1. execで動作するようにzipファイルを取得すると、私は2つの点に気づきました。あなたはちょうどそれが.である場合。今は、rss-ticker/で開始しているため、そのフォルダがファイルシステムのルートにあると仮定しています。私はあなたがそれを望むとは思わない。
  2. コマンドラインzipの機能を利用するには、末尾に*は必要ありません。
1

どのZIPプログラムをお使いですか? tarはあなたがそれを上にしたいと思うように働きます、それでgzipです。

または、chdir()を解凍したいディレクトリに置き換え、パスを*として指定します。これは、現在の作業ディレクトリ内のファイルのみを取得する必要があります。

ZIP Extensionまたはthis 3rd party libraryを試してみたい(またはできても)方法で動作させることができない場合は、純粋なPHPで行うと、コードを移植性が向上します。