Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 20
  1. #1

    download file pdf da mysql con php

    salve ragazzi, avrei un file pdf caricato su un database con nomefile,tipo,size,dati(mediumblob).
    adesso avrei bisogno di creare un link(o salvataggio o visualizzazione è uguale)
    in realtà ho già creato qualcosa ma con scarsi risultati(scarica il file ma è impossibile aprirlo) e cercando su internet notavo che le soluzioni erano uguali o simili alle mie.
    mi appello a qualcuno di voi per il codice o per una semplice spiegazione, scusate il disturbo e grazie in anticipo.

  2. #2
    Utente di HTML.it L'avatar di brodik
    Registrato dal
    Jan 2009
    Messaggi
    764
    posta il codice che hai usato e vediamo dove sbagli...
    eXvision

  3. #3
    certamente

    codice:
    <!doctype html public "-//w3c//dtd html 4.0 transitional//en">
    <html>
    <head>
    <meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
    <meta name="generator" content="PHP Studio">
    <title>untitled</title>
    </head>
    <body>
    
    
    
    
    
    
    
    
    
    
        <?php
    
    
             //creo la connesione
            $link = mysql_connect('localhost','root','');
        if (!$link) {
            die('Non posso connettermi a MySQL: ' . mysql_error());
        }
        echo 'Connection OK';
    
    
    
    
    
    
        //seleziono il database
         mysql_select_db("archivio")
             or die ("non trovo il DB");
    
    
        $query = mysql_query("select nomef,tipo,size,dati from utenti where nomef = 'nomepdf.pdf'");
        $row = mysql_fetch_assoc($query);
        $bytes = $row[dati];
    
    
    
    
    
    
    
    
        header('Content-Type: application/pdf');
        header('Content-Transfer-Encoding: binary');
        header('Content-disposition:  inline; filename="prova.pdf"');
        read($bytes);
    
    
        mysql_close($link);
    
    
    ?>
    
    
    
    
    
    
    </body>
    </html>

  4. #4
    l'errore è questo logo.jpg

  5. #5
    Utente di HTML.it L'avatar di brodik
    Registrato dal
    Jan 2009
    Messaggi
    764
    Che io sappia non esiste una funzione nativa di php chiamata read.
    Detto questo
    Codice PHP:
    ...
    $query mysql_query("SELECT nomef, tipo, size, dati FROM utenti WHERE nomef = 'nomepdf.pdf'");
    $row mysql_fetch_assoc($query);
    $nome $row["nomef"]; // nome del file da scaricare
    $tipo$row["tipo"]; // tipo file (es. application/pdf)
    $size$row["size"]; // dimensione del file in bytes
    $bytes $row["dati"]; // dati binari del file

    mysql_close($link);

    // scarichiamo il file
    header('Content-Transfer-Encoding: binary');
    header("Content-Length: $size");
    header("Content-Type: $tipo");
    header("Content-Disposition: attachment; filename=$nome");
    echo 
    $bytes
    eXvision

  6. #6
    purtroppo mi restituisce il solito messaggio di acrobat reader che è un tipo di file non supportato oppure che non è stato decodificato adeguatamente...

  7. #7
    Utente di HTML.it L'avatar di brodik
    Registrato dal
    Jan 2009
    Messaggi
    764
    Siamo sicuri che quello salvato nel database sia corretto e privo di errori?
    La dimensione del file salvato è corretta?
    eXvision

  8. #8
    struttura.jpgstruttura - Copia.png questo è il mio database di tipo MyISAM, la dimensione del file scaricato è leggermente superiore..

  9. #9
    nell'upload ho usato questa funzione,pensate sia errata?
    codice:
    	if (is_uploaded_file($allegato)) 
    	{ 
    	  // Apro e leggo il file allegato 
    	  $file = fopen($allegato,'rb'); 
    	  $data = fread($file, filesize($allegato)); 
    	  $data = addslashes($data);
    	  fclose($file); 
    	} 
    
    //creo query di inserimento
    	$inser= "INSERT INTO utenti
    						(nome,cognome,codfisc,nomef,tipo,size,dati)
    						VALUES
    						('$nome','$cognome','$codfisc','$allegato_name',
    						'$allegato_type','$allegato_size','$data')";
    	
    	
    						
       
       //inserisco nel db
    	$result = mysql_query($inser);

  10. #10
    se posso darti un consiglio, non salvare il pdf nella tabella.
    ma salva il pdf sul filesystem, e nella tabella ti savli il percorso e nome del file.
    io ho sempre usato questa pratica invece del blob, e non ho mai avuto grossi problemi.
    oltre al fatto che il db è più snello.

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.