Buenas, estoy intentando hacer una cosa que creo q es muy simple, pero no me funciona y he perdido unos días y tengo que presentar mi proyecto fin de carrera ya porque en el trabajo lo necesito para que me cojan (y no está la cosa para desaprovechar trabajos)
Explico:
Quiero hacer un botón en una página especial de mediawiki que al ser pulsado fabrique al vuelo un archivo (la información sería cogida de mysql, y sería un archivo considerable, de quizás unos 50-100 megas) y que aparezca el diálogo de descarga por pantalla para q sea descargado por el usuario.
El tema del botón ya está, lo pulso, en modo post, detecto la pulsación con un 'Hook' the mediawiki.. y uso algo como esto:
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($data));
header("Content-Disposition: attachment; filename=demozip.zip");
echo $data;
El problema es que me mete todo el código generado por la wiki posteriormente, como parte del archivo también.
Osea, yo creo mi archivo ZIP con las librerías, esto parece q funciona correctamente, y uso esto cuando detecto que el botón fue pulsado, y me mezcla en ese archivo y me mete todo(o parte, no estoy seguir) del código html de la wiki que se genera posteriormente.... Con lo que el ZIP me sale corrupto e imposible de abrir por ninguna herramienta (con el bloc de notas se puede ver que el fallo es que se incrusta html "en crudo" dentro del archivo)
He intentado un montón de cosas, pero nada, tampoco soy un experto de php, es mi primir proyecto y soy autodidacta, pero estoy bastante desesperado.
Muchas gracias de antemano,
Un saludo.