Ich versuche, einen Ordner in PHP zu entpacken und einige Sachen mit den Dateien zu machen. Ich habe es funktioniert normal, aber ich muss dies für gezippte Ordner innerhalb der gezippten Ordner root arbeiten.Mit PHP rekursiv entpacken Sie einen Ordner in einem gezippten Ordner?
Also zipped1 könnte image1 und zipped2 enthalten. Ich muss auch Ziped2 extrahieren. Ich versuche dies durch Rekursion wie unten zu tun. Offensichtlich ist dies nicht der vollständige Code, sondern die relevanten Bits.
$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);
So ist das Problem, dass die Funktion rekursiv Aufruf muss die Datei als Argument senden, aber zip_open scheint auf dem Server hochgeladenen Dateien in ihren temporären Ordner zu öffnen - und das rekursive arugment ist nicht in diesem temporären Ordner .
Was kann ich tun?
Danke aber nicht gehen. Ich bekomme einen Fehler 1, wenn ich versuche, das in der while-Schleife zu lesen. –