私はPHPでフォルダを解凍しようとしていて、そのファイルでいくつかのことをやっています。私は正常に動作しているが、私はzipフォルダのルートの内側にzipフォルダのためにこの作業を行う必要があります。PHPを使用すると、圧縮されたフォルダ内のフォルダを再帰的に解凍できますか?
だから、zipped1にimage1とzipped2が含まれている可能性があります。私はzipped2も抽出する必要があります。私は以下のように再帰によってこれをやろうとしています。明らかにこれは完全なコードではなく関連ビットです。
$tempFile = $_FILES['Filedata']['tmp_name'];
function handle_zip($ZipHandler)
{
while($zip_entry = zip_read($ZipHandler))
{
$ext = explode(".",zip_entry_name($zip_entry))[1];
if($ext=="zip")
handle_zip(zip_open($zip_entry));
}
}
$ZipHandler = zip_open($tempFile);
handle_zip($ZipHandler);
zip_close($ZipHandler);
だから、問題は再帰的関数を呼び出すと、引数としてファイルを送信する必要がありますが、サーバー上のTempフォルダにアップロードされたファイルを開くにはzip_open思われることである - と、この再帰arugmentは、その一時フォルダにありません。
どうすればいいですか?
ありがとうございます。 whileループでそれを読み込もうとするとエラー1が発生します。 –