Ciao a tutti.

Ho scritto un pezzo di codice che mi crea un file zip, me lo serve e me lo cancella.

E, stranamente , funziona.

qui il pezzo di codice
codice:
	
		// faccio scaricare
		ob_end_clean();
		header("Content-type: application/zip");
		header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
		header('Pragma:');
		header('Content-Length: '.filesize($nome_file_zip));
		
		$a_file = pathinfo($nome_file_zip);
		header("Content-Disposition: attachment; filename=\"".$a_file['basename']."\"");
		
		$handle = fopen($nome_file_zip, 'rb');
		while (!feof($handle)){
			echo fread($handle, 8192);
		}
		fclose($handle);
		
		unlink($nome_file_zip);
		
		exit();
Ora mi piacerebbe tornare alla pagina che stavo gestendo. Invece la pagina rimane quella da cui chiamo il pezzo di codice e il programma si ferma dopo aver fatto quello che deve fare.

è ovvio che i problemi sono
codice:
ob_end_clean();
e
codice:
exit();
ma, se non li metto, il file mi viene corrotto (in pratica ci appiccica la parte di pagina che avevo già creato e quella che creerò.

c'è un modo per
- catturare la pagina prima di ob_end_clean()
- cambiare nuovamente l'header dopo che ha fatto il file per tornare a quello originale

o sto chiedendo la luna al php?