Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di Reiuky
    Registrato dal
    Jul 2008
    Messaggi
    371

    Torno alla pagina dopo aver fatto il download

    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?
    A volte penso che, nel darci l'intelletto, la natura sia stata più sadica che generosa.

  2. #2
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    prova a fare una chiamata ajax alla pagina del download col async a false e oscurando la pagina finche non è terminato il processo

    non garantisco il funzionamento anche perchè non saprei come viene gestito il response

  3. #3
    Utente di HTML.it L'avatar di Reiuky
    Registrato dal
    Jul 2008
    Messaggi
    371
    Originariamente inviato da bstefano79
    prova a fare una chiamata ajax alla pagina del download col async a false e oscurando la pagina finche non è terminato il processo

    non garantisco il funzionamento anche perchè non saprei come viene gestito il response
    E se non potessi usare ajax a causa dell'accessibilità?
    A volte penso che, nel darci l'intelletto, la natura sia stata più sadica che generosa.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.