El problema es que al descargar el zip, se elimina su contenido. Uso este código para crear el zip y agregarle los archivos:
$zipName = "full path"; $zip = new ZipArchive(); $zip->open($zipName, ZipArchive::CREATE); for ($i = 0; $i < $length; $i++) { if ($ausgabeArray[$i]["filePath"] != '') { $zip->addFromString(basename($ausgabeArray[$i]["filePath"]), file_get_contents($ausgabeArray[$i]["filePath"])); } } $zip->close(); for ($i = 0; $i < $length; $i++) { unlink($ausgabeArray[$i]["filePath"]); }Y uso este código para descargar el zip:
header("Content-disposition: attachment; filename=" . $name); header("Content-type: application/".$endung); readfile($path); unlink($path); //name = basename from the path of the zip //path = full path to the zip //endung = zip Esto funcionó bien en el servidor anterior, pero después de cambiarlo, dejó de funcionar. Detuve el código una vez antes readfile($path); y vi el zip en la carpeta y lo descargué desde allí, todo funcionó bien de esta manera, pero por supuesto, esta no es una opción para cualquiera que no tenga permiso para los directorios del servidor.
Usamos este servidor:
No estoy seguro de si el problema tiene algo que ver con el cambio del servidor o solo con mi código, pero no cambié nada y ahora ya no funciona, así que creo que es posible. Espero que alguien haya tenido este problema antes y pueda ayudarme. ¡Gracias!