hola chicos.
con el código que pondré a continuación logré capturar salidas y
sacarlas al navegador como un archivo descargable comprimido. pero
tengo un problema, sólo sale la porción de HTML que genera el
controlador, y no la vista completa que saldría al explorador de
internet.
cómo puedo hacer para que obtener todo el HTML completo que saldría a
pantalla en una variable?
Código:
function exportar()
{
$zip = new ZipArchive();
$filename = 'establecimientos.zip';
if ($zip->open($filename, ZIPARCHIVE::CREATE) !== true)
{
exit('Error interno.');
}
$zip->addFromString('establecimientos.html',
$this->requestAction('/
establecimientos', array('return')));
$zip->close();
$zip = file_get_contents('establecimientos.zip');
unlink('establecimientos.zip');
header('Pragma: public');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0,
pre-check=0');
header('Cache-Control: private', false);
header('Content-Description: File Transfer');
header('Content-Type: application/force-download');
header('Content-Length: '.strlen($zip));
header('Content-Disposition: attachment; filename='.$filename);
echo $zip;
exit;
}
On May 28, 9:21 am, AD7six <[EMAIL PROTECTED]> wrote:
> On 28 mayo, 06:46, nachopro <[EMAIL PROTECTED]> wrote:
>
> > Hola, soy algo nuevo en CakePHP pero les cuento:
>
> > tengo 4 vistas que devuelven distintos listados. necesito generar 4
> > HTML estáticos (uno para cada listado), comprimirlos en zip y luego
> > forzar su descarga (es decir que no se guarde en el servidor)
>
> > estuve intentando hacer algo con la clase File pero me tira el error:
>
> > Fatal error: Class 'File' not found in proyecto\controllers
> > \establecimientos_controller.php on line 40
> > cito línea 40: $bares = new File('.', true);
>
> Hmm. mira en el manual sobre la function "uses", este error es porque
> estas intentando de usar una clase que no esta incluido/declarado.
>
> Para después:http://cakeforge.org/snippet/detail.php?type=snippet&id=185
>
> Saludos,
>
> AD
--~--~---------~--~----~------------~-------~--~----~
Has recibido este mensaje porque estás suscrito a Grupo "CakePHP-es" de Grupos
de Google.
Si quieres publicar en este grupo, envía un mensaje de correo
electrónico a [email protected]
Para anular la suscripción a este grupo, envía un mensaje a [EMAIL PROTECTED]
Para obtener más opciones, visita este grupo en
http://groups.google.com/group/CakePHP-es?hl=es.
-~----------~----~----~----~------~----~------~--~---