Visualizzazione dei risultati da 1 a 5 su 5

Discussione: [PHP] Download file

  1. #1

    [PHP] Download file

    Salve a tutti,
    ho creato uno script che mi visualizzi un elenco di files e per ognuno di essi ho un link tipo : www.mio.it/check_download.php?id=1 naturalmente dove il parametro id e' variabile a seconda del file che voglio scaricare. Quest'elenco potrebbe essere ristretto ad un numero di utenti che per diversi filtri possono accedere o meno a determinati file da scaricare. Nel file check_download.php controllo i permessi dell'utente che se e' abilitato eseguo la seguente riga:
    <script>window.open("dw/file001.zip",'')</script> il che mi apre una popup e mi chiede se voglio scaricare o aprire il file.
    Poiche' nelle mie prove ho usato IE 6 con la toolbar di Google attivata, il popup veniva disabilitato da google. C'e' un modo per far apparire la pagina "apri o salva su disco" senza utilizzare una popup?
    Grazie 1000.
    ______________________________________

    Progresso Web.

  2. #2
    :quipy:
    ______________________________________

    Progresso Web.

  3. #3

    non mi ricordo piu da chi l'ho copiato

    leggi il file, lo metti dentro una variabile, mandi gli header, mandi il file.

    preso da freephp:

    code:
    $data = // leggi il file;
    $name = // il nome del file;
    $type = // il tipo di file;
    // SE IL BROWSER E' INTERNET EXPLORER
    if(ereg("MSIE ([0-9].[0-9]{1,2})", $_SERVER["HTTP_USER_AGENT"])) {
    header("Content-Type: application/octetstream");
    header("Content-Disposition: inline; filename=$name");
    header("Expires: 0");
    header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
    header("Pragma: public");
    } else {
    header("Content-Type: application/octet-stream");
    header("Content-Disposition: attachment; filename=$name");
    header("Expires: 0");
    header("Pragma: no-cache");
    }
    echo $data;

  4. #4
    grazie.... provo
    ______________________________________

    Progresso Web.

  5. #5
    Quella soluzione non è compatibile con tutti i browser.
    usa questa:

    Codice PHP:
        $user_agent=${"HTTP_USER_AGENT"};
            
    // nome del file
            
    $nomefile "provaprova.doc";
            
    //lunghezza del file
            
    $len 5044;
            
    // sorgente del file, che puoi leggere con fread()
            
    $sorgente "asdsadadasd";

        if (
    strpos($user_agent,"Gecko")) $nomefile str_replace("ö","o",str_replace("ä","a",strtolower($nomefile)));
        
    header("Pragma: public");
        
    header("Cache-control: private"); // fix for IE
        
    header("Expires: 0"); 
        
    header("Content-type: application/RFC822");
        
    header("Content-type: octet/stream\n");
        
    header("Content-transfer-encoding: binary\n"); 
        
    header("Content-Disposition: attachment; filename=".stripslashes($nomefile)."\n");
        
    header("Content-Length: ".$len);
        echo 
    $sorgente;
        exit(); 
    Marco Bianucci
    marco@phoenixweb.it
    Hosting php
    Programmazione & WebDesign

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.