Pagina 2 di 5 primaprima 1 2 3 4 ... ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 44

Hybrid View

  1. #1
    neppure così:

    Codice PHP:
        $url_pubblico 'http://' $_SERVER['SERVER_NAME'] . '/file_download/' $filename;
        
    // Content-type must come before Content-disposition
        
    header('Content-length: ' strlen($url_pubblico));
        
    header("Content-type: $mimetype");
        
    header("Content-disposition: $disposition; filename=$filename");
        
    //echo $url_pubblico;
        
    $readfile readfile($url_pubblico);
        echo 
    $readfile
    Più pratica in futuro...

  2. #2
    questo non da errore:

    Codice PHP:
        if ($_GET['action'] == 'download') {
            
    $mimetype 'application/octet-stream';
            
    $disposition 'attachment';
        }
        
    header("Location: http://" $_SERVER['SERVER_NAME'] . "/file_download/");
        
    header('Content-length: ' strlen($filename));
        
    header("Content-type: $mimetype");
        
    header("Content-Disposition: $disposition; filename=$filename");
        
    readfile($filename);
        exit(); 
    ma almeno permette di scaricare il file... va be ma se nessuno mi segue posso anche evitare di continuare...
    Più pratica in futuro...

  3. #3
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Quote Originariamente inviata da giannino1995
    va be ma se nessuno mi segue posso anche evitare di continuare...
    Non è facile seguirti, questo l'hai provato e ribadisco con dimensioni così grandi del file c'è molta probabilità che una volta pubblicato in rete lo script si blocchi
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  4. #4
    Che tristezza...
    Più pratica in futuro...

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    292
    Ciao giannino,
    il fiel viene salvato correttamente nell acartella scelta e il nome del file viene salvato correttamente in DB?
    In DB ti consiglio di salvare solo il nome con estensione, il percorso lo imposterai in una variabile (nel file di configurazione se ne fai uso, in modo da doverlo fare solo in un punto).
    provo a postarti del codice grezzo che non ho provato:

    Codice PHP:
       $files_folder "C:/var/www/nome_sito/upload_folder/";  /*percorso alla cartella*/
        
        /*Controllo sessione*/
        /*Controllo privilegi lettura*/
        /*Query database*/

        
    $filename $file['filename'];
        
       
        if (
    is_file($files_folder.$filename))
        {
            
            
    $spliturl explode ("."$filename);
            
    $file_extension $spliturl[sizeof($spliturl)-1];
            
            switch( 
    $file_extension ) {
                  case 
    "pdf"$ctype="application/pdf"; break;
                  case 
    "png"$ctype="image/png"; break;
                  case 
    "jpeg"$ctype="image/jpeg"; break;
                  case 
    "jpg"$ctype="image/jpeg"; break;
                  default: 
    $ctype false; break;
            }
        
            if(
    $ctype) {
        
                
    header("Content-Type: $ctype");
                
    header("Content-Disposition: attachment; filename=".$filename);
                
    header("Content-Description: Download ");
                echo 
    file_get_contents($files_folder.$filename);
                
            }echo 
    "Errore estensione";
        }else echo 
    "Il file non esiste"

  6. #6
    Quote Originariamente inviata da arkus Visualizza il messaggio
    Ciao giannino,
    il fiel viene salvato correttamente nell acartella scelta e il nome del file viene salvato correttamente in DB?
    In DB ti consiglio di salvare solo il nome con estensione, il percorso lo imposterai in una variabile (nel file di configurazione se ne fai uso, in modo da doverlo fare solo in un punto).
    provo a postarti del codice grezzo che non ho provato:

    Codice PHP:
       $files_folder "C:/var/www/nome_sito/upload_folder/";  /*percorso alla cartella*/
        
        /*Controllo sessione*/
        /*Controllo privilegi lettura*/
        /*Query database*/

        
    $filename $file['filename'];
        
       
        if (
    is_file($files_folder.$filename))
        {
            
            
    $spliturl explode ("."$filename);
            
    $file_extension $spliturl[sizeof($spliturl)-1];
            
            switch( 
    $file_extension ) {
                  case 
    "pdf"$ctype="application/pdf"; break;
                  case 
    "png"$ctype="image/png"; break;
                  case 
    "jpeg"$ctype="image/jpeg"; break;
                  case 
    "jpg"$ctype="image/jpeg"; break;
                  default: 
    $ctype false; break;
            }
        
            if(
    $ctype) {
        
                
    header("Content-Type: $ctype");
                
    header("Content-Disposition: attachment; filename=".$filename);
                
    header("Content-Description: Download ");
                echo 
    file_get_contents($files_folder.$filename);
                
            }echo 
    "Errore estensione";
        }else echo 
    "Il file non esiste"
    quasi...

    salva il file ma senza estensione e se il file ha estensione .JPG invece di .jpg ottengo "Errore estensione".
    Più pratica in futuro...

  7. #7
    Riassumendo:

    Ho creato uno script che funziona solo con alcuni file e vorrei migliorarlo invece di impiegarne altri.
    In pratica, lo script PHP salva sul disco del server il file caricato e il nome del file in un database mysql.
    Quando premo sul pulsante di download lo script salva in $filename il nome del file in modo che quando uso questo codice:

    Codice PHP:
    header("Location: http://" $_SERVER['SERVER_NAME'] . "/file_download/" $filename); 
    l'utente possa scaricare il file. Il problema è che se il file è un'immagine o un pdf il mio browser apre il file invece di scaricarlo.
    E' una domanda semplice per voi programmatori! Non capisco perché dite di non riuscire a seguirmi...
    Ultima modifica di giannino1995; 09-05-2014 a 16:36
    Più pratica in futuro...

  8. #8
    Così risolvo il problema delle maiuscole ma l'estensione del file continua ad essere persa...

    Codice PHP:
    $files_folder $_SERVER['DOCUMENT_ROOT']. "/file_download/";
        if (
    is_file($files_folder.$filename))
        {
            
    $spliturl explode ("."$filename);
            
    $file_extension $spliturl[sizeof($spliturl)-1];
            switch(
    strtolower($file_extension)) {
                  case 
    "pdf"$ctype="application/pdf"; break;
                  case 
    "png"$ctype="image/png"; break;
                  case 
    "jpeg"$ctype="image/jpeg"; break;
                  case 
    "jpg"$ctype="image/jpeg"; break;
                  default: 
    $ctype false; break;
            }
            if(
    $ctype) {
                
    header("Content-Type: $ctype");
                
    header("Content-Disposition: $disposition; filename=".$filename);
                
    header("Content-Description: Download ");
                echo 
    file_get_contents($files_folder.$filename);
            }echo 
    "Errore estensione";
        }else echo 
    "Il file non esiste"
    Più pratica in futuro...

  9. #9
    Grazie Cavicchiandrea ma in quella pagina non si parla della cosa che a me interessa di più: il download del file!
    Più pratica in futuro...

  10. #10
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    292
    Non è molto chiaro il problema,
    l'estensione si perde in che punto? in database è presente? Se stampi la variabile $filename , vedi l'estensione?

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