Codeigniter フレームワークの圧縮デコード クラス、その read_dir メソッドを使用すると、サーバー上のどこかに存在するフォルダー (およびその中のファイルとサブフォルダー) を圧縮できます。
フォルダー パスを指定すると、zip クラスがそれを再帰的に読み取り、再作成してアーカイブに追加します。 指定したパスにあるすべてのファイル (すべてのサブフォルダーを含む) が圧縮されます。
例:
リーリーデフォルトの Zip ファイルは、最初のパラメータの完全なフォルダー パスを Zip ファイルに保存します。ターゲット パスの前のフォルダー構造を無視する場合は、2 番目のパラメーターに FALSE (ブール値) を渡すことができます。
例:
リーリーこれにより、「ディレクトリ」を含む ZIP ファイルが作成され、すべてのサブフォルダーが内部に正しく保存されますが、フォルダー /path/to/your は含まれません。
公式ドキュメントではパラメータが 2 つしか言及されていませんが、実際にはソース コードには 3 つのパラメータが設定されています:
リーリー通常、フレームワーク実行環境内では、パスを取得する方法がいくつかあります。
APPPATH - Codeigniter のルート ディレクトリ、つまり <code>application/
FCPATH - ディスク パーティションのルート ディレクトリ、つまり <code>application/
FCPATH – 对应磁盘分区根目录,即 <font face="NSimsun">D:xxxcodeigniter 根目录</font>
D に対応します。 xxxcodeigniter ルート ディレクトリ
FCPATHなどのメソッドを使用してディレクトリの絶対パスを取得する場合、ソースコード内でパス内のバックスラッシュを処理するため、前後の$root_pathの値が不一致となり、第2パラメータのfalse設定が無効となります。
参考資料: http://codeigniter.org.cn/user_guide/libraries/zip.html