(wget
を使用して)生成された一連のファイルをディレクトリにダウンロードし、次にZip
コマンドを使用してzip圧縮するPHPスクリプトを作成しています。
ダウンロードは完全に機能し、圧縮はほとんど機能します。私はコマンドを実行します:
Zip -r /var/www/oraviewer/rgn_download/download/fcst_20100318_0319.Zip /var/www/oraviewer/rgn_download/download/fcst_20100318_0319
ダウンロードされたすべてのファイルを含むZipファイルを生成しますが、/var/www/oraviewer/rgn_download/download/
ディレクトリに到達する前に、完全なfcst_20100318_0319/
ディレクトリが含まれています。
おそらく、Zipコマンドにフラグまたは小さな何かが欠けているだけですが、fcst_20100318_0319/
をルートディレクトリとして使用するにはどうすればよいですか?
Zipにはそのためのフラグはないと思います。私は唯一の方法は次のようなものだと思います:
cd /var/www/oraviewer/rgn_download/download/ && \
Zip -r fcst_20100318_0319.Zip fcst_20100318_0319
(バックスラッシュはわかりやすくするためのものです。バックスラッシュを削除して、すべてを1行に入れることができます。)
PHPはサブシェルでコマンドを実行しているため、現在のディレクトリは変更されません。
このコマンドを使用して動作させることもできます
exec( 'cd'。$ _ SERVER ['DOCUMENT_ROOT']。 '&& Zip -r com.Zip "./"');
cd /home/public_html/site/upload/ && Zip -r sub_upload.Zip sub_upload/