Как получить и воспроизвести файл WAV, сохраненный как MySQL BLOB? - PullRequest
7 голосов
/ 06 февраля 2011

Я хочу получить и воспроизвести файл WAV, сохраненный в MySql Db, используя PHP и Zend-Framework.Но я не могу этого сделать.Я хочу сделать это в 2 шага: 1. Преобразовать BLOB-файл в файл .wav 2. Воспроизвести этот файл .wav в новом окне.

Пожалуйста, помогите мне ............

Заранее спасибо ......

Ответы [ 2 ]

4 голосов
/ 06 февраля 2011

Чтобы сохранить данные в базе данных, вы должны сделать что-то вроде этого:

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

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

И затем вы вставите $ content в поле blob в запросе sql.Чтобы прочитать файлы, это будет что-то вроде:

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

Чтобы прочитать файл, просто запустите второй код и файл должен быть загружен.Вы можете указать свой флэш-плеер или что-либо еще, что вы используете, на URL с указанным выше кодом, и он должен работать.

Надеюсь, что это помоглоMySQL-учебники / загрузка-файлы-к-MySQL-database.aspx

0 голосов
/ 26 августа 2011
$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);

Это взять данные из БД и сохранить в файле. Теперь играйте в voiceFile.wav

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...