Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2009
    Messaggi
    213

    download documenti contenuti in una cartella

    ciao a tutti. ho una cartella sul server che riesco ad aprire e visualizzar di conseguenza quali file sono presenti. ora per ogni file devo creare un link che mi permetta di effettuare il download.

    questo è il pezzo di codice che ho creato, ma non so come inserire il link. qualche idea?

    codice:
    <? $dir="DOC/PAZ/".$_GET['id_paziente'];
    				   		if($handle=opendir($dir)){
    							while (false !== ($file = readdir($handle))) { 
    								if($file!='.'&&$file!='..'){
    							
    							
    							?>
                                
                                
    <?
           						 echo "$file\n"; //qui andrebbe il link per il download 
    							
    							
    							}
       } 
    						}
    				    ?>
    provando con un semplice <a href> non fa il download

    grazie

  2. #2
    Utente di HTML.it L'avatar di Secta
    Registrato dal
    May 2002
    Messaggi
    365
    Guarda il primo esempio http://php.net/manual/en/function.readfile.php

    Ps. ho perso il conto di quante volte ho postato il link a questa pagina
    "Dai diamanti non nasce niente, dal letame nascon fiori."
    Fabrizio De Andrè

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2009
    Messaggi
    213
    ciao secta. innanzitutto grazie, ma sinceramnete non riesco proprio a capirlo l'esempio. ho provato a metterlo nel codice ma non funziona. è stato meno complicato fare l'upload del file controllare se la cartella esisteva in base all' id del paziente ed eventualmente crearla e visualizzare il link. puoi darmi qualche indicazione in più con riferimento magari al codice che ho postato? ti ringrazio

  4. #4
    Utente di HTML.it L'avatar di Secta
    Registrato dal
    May 2002
    Messaggi
    365
    Fai cosi... incolla questi codice in download.php

    Codice PHP:

    if(!isset($_GET['file']))
    {
      
    // gestisci il caso in cui non arrivi il parametro file nella querystring
    }

    $file $_GET['file'];

    if (
    file_exists($file)) {
        
    header('Content-Description: File Transfer');
        
    header('Content-Type: application/octet-stream');
        
    header('Content-Disposition: attachment; filename='.basename($file));
        
    header('Content-Transfer-Encoding: binary');
        
    header('Expires: 0');
        
    header('Cache-Control: must-revalidate');
        
    header('Pragma: public');
        
    header('Content-Length: ' filesize($file));
        
    ob_clean();
        
    flush();
        
    readfile($file);
        exit;

    Ora formatta i tuoi link cosi download.php?file=NOME_DEL_FILE_DA_SCARICARE. Eventualmente puoi passare anche il content-type o ricavartelo in download.php o lasciare il codice così com'è... decidi tu.

    Edit: ovviamente attento ai percorsi dei vari file.
    "Dai diamanti non nasce niente, dal letame nascon fiori."
    Fabrizio De Andrè

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2009
    Messaggi
    213
    grazie funziona perfettamente

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.