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

    Problema con forzatura download

    Salve a tutti.

    Ho la necessità di impostare la forzatura di download per alcuni file...cercando su google ho trovato questo

    codice:
    <?php
    //include_once "var.php";
    //include "connessione.php";
    // definisco una variabile con il percorso alla cartella
    // in cui sono archiviati i file
    $dir = "listini_scaricati/";
    
    // Recupero il nome del file dalla querystring
    // e lo accodo al percorso della cartella del download
    $file = $dir . $_GET['filename'];
    
    // verifico che il file esista
    if(file_exists($file) && $_GET['filename']!="")
    {
      // Se il file esiste...
      // Imposto gli header della pagina per forzare il download del file
      header("Cache-Control: public");
      header("Content-Description: File Transfer");
      header("Content-Disposition: attachment; filename= " . $file);
      header("Content-Transfer-Encoding: binary");
      // Leggo il contenuto del file
      readfile($file);
    }
    else
    {
      // se non esiste chiudo e stampo un errore
    ?>
    	<script>
    		alert("Il file non esiste!");
    	</script>
    <?  
      die("Il file non esiste!");
    }
    ?>

    a questa pagina, ovviamente, ci arrivo con un <a href="force_download.php?filename=nome.estensione" >

    ...il problema è che con explorer 6 il browser, anzichè scaricare il file "nome.estensione" mi scarica force_download.html ...avete qualche idea?

  2. #2
    Utente di HTML.it
    Registrato dal
    Jan 2005
    Messaggi
    579
    il metodo che stai usando è rischioso , usa questo http://www.ebug.it/?p=129, ciao
    l'uomo è tutto ciò che non può essere

    http://www.ebug.it Discussioni da web Designer

    http://www.ebug.it/?p=354 e Dart Fener dove lo mettiamo lol

  3. #3
    Effettivamente col mio metodo chiunque potrebbe scaricarsi qualsiasi file...xò in realtà all'inizio della pagina c'è un controllo sul login e se non sei loggato fa il redirect alla pagina di login...e inoltre la cartella in cui va a pescare il file contiene solo quel file (e altri file simili...niente di "prezioso")...tra l'altro il metodo che hai postato tu assomiglia molto, ma non mi pare sia adatto: fa il controllo se $num==1 e poi ti fa scaricare il file manuale.pdf ...mentre a me serve specificare alla pagina il file che mi serve scaricare...al max potrei trasformare l'<a href> in un form con metodo post, in modo da non far vedere il nome del file (credo proprio che lo farò)...ma il problema, anche con lo script che mi hai linkato, è sempre uguale(dato che la parte di download vera e propria è la stessa): explorer 6 mi fa scaricare pagina.html (tra l'altro non capisco xkè .html se la pagina è un .php o_O )anzichè usare pagina.php per scaricare il file corretto...

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.