-
-
Save parzibyte/79272b32a1049b0bed26177ccb5aa73b to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/** | |
* Trabajando con archivos ZIP en PHP | |
* Ejemplo 2: simple creación de archivo zip | |
* con un poco de contenido, para mandarlo | |
* para su descarga | |
* | |
* @author parzibyte | |
*/ | |
$zip = new ZipArchive(); | |
// Ruta absoluta | |
$nombreArchivoZip = __DIR__ . "/2-simple.zip"; | |
if (!$zip->open($nombreArchivoZip, ZipArchive::CREATE | ZipArchive::OVERWRITE)) { | |
exit("Error abriendo ZIP en $nombreArchivoZip"); | |
} | |
// Si no hubo problemas, continuamos | |
// Agregamos el script.js | |
// Su ruta absoluta, como D:\documentos\codigo\script.js | |
$rutaAbsoluta = __DIR__ . "/script.js"; | |
// Su nombre resumido, algo como "script.js" | |
$nombre = basename($rutaAbsoluta); | |
$zip->addFile($rutaAbsoluta, $nombre); | |
// No olvides cerrar el archivo | |
$resultado = $zip->close(); | |
if (!$resultado) { | |
exit("Error creando archivo"); | |
} | |
// Ahora que ya tenemos el archivo lo enviamos como respuesta | |
// para su descarga | |
// El nombre con el que se descarga | |
$nombreAmigable = "simple.zip"; | |
header('Content-Type: application/octet-stream'); | |
header("Content-Transfer-Encoding: Binary"); | |
header("Content-disposition: attachment; filename=$nombreAmigable"); | |
// Leer el contenido binario del zip y enviarlo | |
readfile($nombreArchivoZip); | |
// Si quieres puedes eliminarlo después: | |
unlink($nombreArchivoZip); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment