2011-02-06 12 views
7

Voglio ottenere e riprodurre il file WAV memorizzato in MySql Db utilizzando PHP e Zend-Framework. Ma non sono in grado di farlo. Voglio farlo in 2 passaggi: 1. Convertire il BLOB come file .wav 2. Riprodurre il file .wav in una nuova finestra.Come ottenere e riprodurre file WAV memorizzati come BLOB MySQL?

Please help me ............

Grazie in anticipo ......

+4

salva la tua seccatura, non memorizzarla nel db in primo luogo, in generale non è mai una buona idea (lo stesso vale per immagini e altri file binari) –

risposta

3

Per memorizzare i dati nel database, si potrebbe fare qualcosa di simile :

$tmpName = $_FILES['userfile']['tmp_name']; 

$fp  = fopen($tmpName, 'r'); 
$content = fread($fp, filesize($tmpName)); 
$content = addslashes($content); 
fclose($fp); 

E quindi inserire $ content nel campo blob nella query sql. Per leggere i file, sarebbe qualcosa di simile:

$query = "SELECT name, type, size, content " . 
    "FROM upload WHERE id = '$id'"; 

header("Content-length: $size"); 
header("Content-type: $type"); 
header("Content-Disposition: attachment; filename=$name"); 
echo $content; 

per leggere il file, basta avere il 2 ° codice eseguito e il file deve scaricare. Puoi puntare il tuo flash player o qualsiasi cosa usi nell'URL con il codice sopra, e dovrebbe funzionare.

Spero che questo ha aiutato REF: http://www.php-mysql-tutorial.com/wikis/mysql-tutorials/uploading-files-to-mysql-database.aspx

-1
$query = "select voiceBlob from voiceTable where pk = ".$_GET['id']; 
$result = mysql_query($query); 
$row=mysql_fetch_assoc($result) ; 
$data = $row["voiceBlob"]; 

$ourFileName = "uploads/voiceFile.wav"; 
$fh = fopen($ourFileName, 'w') or die("can't open file"); 
fwrite($fh, $data); 
fclose($fh); 

Questo è quello di prendere i dati da DB e conservare in un file. Ora riproduci la voce File.wav

+1

-1, questo è un foro di iniezione SQL. Vedi: http://www.tizag.com/mysqlTutorial/ e continua a leggere fino alla sezione che descrive SQL-injection, vedi anche: http://stackoverflow.com/questions/332365/xkcd-sql-injection-please-explain – Johan