• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:PHP 再帰的 ZipArchive)

PHPでサブディレクトリ内のファイルも含めてZipファイルを作成する方法

このQ&Aのポイント
  • PHPでサブディレクトリ内のファイルも含めてZipファイルを作成する方法について説明します。
  • 指定したディレクトリ内のファイルを再帰的に取得し、Zipファイルに追加する処理を行います。
  • 生成したZipファイルをダウンロードする際には、ヘッダー情報を設定してファイルをストリームに出力します。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

scandir()は、ディレクトリ内にサブディレクトリがあっても、その下までは潜ってくれません。 よって階層下を全て取り出したいなら、 scandirで取り出したファイルリスト中に ディレクトリタイプがあれば、さらにそれをscandir()する必要があります。 このとき階層数がいくつあってもよいように、アーカイブに追加する部分のみを関数化して その関数内で、ファイルならアーカイブし、ディレクトリならば自分自身の関数を呼び出すようにしておくのが再帰的処理ですが 添付されたのコードには、そのような再帰的な処理はありませんよ。

関連するQ&A