¿Cómo puedo ofrecer un archivo xml comprimido para descargar mediante PHP?
Pregunta
Tengo un script PHP que crea un archivo xml desde la base de datos. Me gustaría que la secuencia de comandos cree los datos xml e inmediatamente haga un archivo .gzip disponible para descargar. ¿Puedes por favor darme algunas ideas?
¡Gracias!
Solución
Puede aplicar fácilmente la compresión gzip con la función gzencode .
<?
header("Content-Disposition: attachment; filename=yourFile.xml.gz");
header("Content-type: application/x-gzip");
echo gzencode($xmlToCompress);
Otros consejos
¿Algo así?
<?php
header('Content-type: application/x-gzip');
header('Content-Disposition: attachment; filename="downloaded.gz"');
$data = implode("", file('somefile.xml'));
print( gzencode($data, 9) ); //9 is the level of compression
?>
Si no tiene el módulo gzip disponible,
<?php
system('gzip filename.xml');
?>
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow