Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    Script che non fa il download di file di 0 byte

    Ho uno script che lavora egreggiamente ma solo per file con dimensioni superiori a 0 byte.
    E' possibile modificare il codice seguente facendo in modo che riesca a scaricare un file .txt vuoto?
    codice:
    <?php session_start(); // Per recuperare la variabile di sessione devo avviare la sessione anche in questo file;
    if (isset($_POST ["file"]) and file_exists($_POST ["file"]) and isset($_SESSION ["password"]) and (md5 ( $_SESSION ["password"]) === $xyz2 or md5 ( $_SESSION ["password"] ) === $xyz)) {
        $file=$_POST ["file"];
        if (URL_inizio($file,$cartella_download2)){
            header('Content-Description: File Transfer');
            header('Content-Type: application/octet-stream');
            header('Content-Disposition: attachment; filename="'.basename($file).'"');
            header('Expires: 0');
            header('Cache-Control: must-revalidate');
            header('Pragma: public');
            header('Content-Length: '.filesize($file));
            readfile($file);
            header('Location: ../'.$pag_prot);
            exit();
        } else {
            header('Location: ../'.$pag_prot);
            exit();
        }
    }
    header('Location: ../'.$pag_prot); // Permette di ritornare alla pagina protetta se non viene intercettato nulla.
    ?>
    Più pratica in futuro...

  2. #2
    Ho risolto aggiungendo ob_clean() e flush() prima del readfile ma non ho capito perché, qualcuno saprebbe spiegarmelo? Inoltre è più corretto scrivere exit() oppure exit senza parentesi?
    grazie
    Più pratica in futuro...

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 © 2024 vBulletin Solutions, Inc. All rights reserved.