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

    File Corrotti -> readfile()

    <?
    ..........
    ..........//istruzioni precedenti!
    ..........

    header ("Cache-Control: must-revalidate, post-check=0, pre-check=0");
    header('Content-Description: File Transfer');
    header('Content-Type: application/force-download');
    header("Content-Type: ".$type);
    header('Content-Length: ' . $size);
    header('Content-Disposition: attachment; filename='.$nome);
    readfile($file);
    ?>

    Ho usato il readfile con questo codice, il file me lo scarica ma risulta corrotto. In pratica viene incluso nel file anche il codice HTML che sta prima. Come posso evitare questo problema??
    http://e107plus.org
    Chi trova un amico,trova un tesoro, ma chi trova il tesoro se ne frega dell amico!!
    Prima di fare una cazzata pensaci

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    434
    codice:
    if(!function_exists('mime_content_type')) {
      function mime_content_type($f) {
        $f = escapeshellarg($f);
        return trim( `file -bi $f` );
      }
    }
    function download($file) {
      if((file_exists("upload/{$file}")) && (is_readable("upload/{$file}"))) {
        $filecontents = implode("", file("upload/{$file}"));
        $type = mime_content_type("upload/".$file);
        $size = filesize("upload/{$file}");
        header("Content-Type: {$type}");
        header("Content-Disposition: attachment; filename=\"{$file}\"");
        header("Content-Length: {$size}");
        header("Content-Transfer-Encoding: binary");
        echo $filecontents;
        exit(0);
      }
    }
    usalo così:

    $file = "tuofile.ext";
    download($file);

    non devi outputtare niente prima, senò non va.

    Ciao!

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.