2011-02-06 24 views
7

Quiero obtener y reproducir el archivo WAV almacenado en MySql Db usando PHP y Zend-Framework. Pero no puedo hacerlo. Quiero hacer esto en 2 pasos: 1. Convierta el BLOB como archivo .wav 2. Reproduzca ese archivo .wav en una nueva ventana.¿Cómo obtener y reproducir el archivo WAV almacenado como MySQL BLOB?

Por favor, ayúdame ............

Gracias de antemano ......

+4

ahórrese la molestia, no lo almacene en la base de datos en primer lugar, en general, esto nunca es una buena idea (lo mismo ocurre con las imágenes y otros archivos binarios) –

Respuesta

3

para almacenar los datos en la base de datos, usted haría algo como esto :

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

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

Y luego insertaría $ contenido en el campo blob en la consulta sql. Para leer los archivos, sería algo así como:

$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; 

Para leer el archivo, solo tienen el segundo código ejecutado y el archivo debe descargar. Puede apuntar su flash player o lo que sea que use a la url con el código anterior, y debería funcionar.

Espero que esto ayudó 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); 

Esta es tomar los datos de base de datos y guardar en un archivo. Ahora ejecute el archivo de vozFavor.wav

+1

-1, este es un agujero de inyección SQL. Consulte: http://www.tizag.com/mysqlTutorial/ y siga leyendo hasta la sección que describe la inyección SQL, también consulte: http://stackoverflow.com/questions/332365/xkcd-sql-injection-please-explain – Johan

Cuestiones relacionadas