Как заполнить базу данных msql html-страницами Audios - PullRequest
0 голосов
/ 04 марта 2012

Мне нужно загрузить 4000 маленьких аудиозаписей (длиной ~ 30 секунд), а не мелодии :) Точно так же у меня есть 4000 HTML-файлов. Я узнал, что MySQL - лучший способ работать с такими большими объемами данных. Однако я не знаю, как работать с базой данных MySQL, как организовать аудио и HTML-файлы. если есть рабочий пример, я был бы очень признателен за вашу помощь.

1 Ответ

1 голос
/ 04 марта 2012

Вы можете хранить файлы непосредственно в MySQL, используя типы данных BLOB.Однако лучший способ - сохранить аудиофайлы в каталоге, а затем просто сохранить путь к файлу в базе данных.Это связано с тем, что после определенного момента более эффективно хранить файлы в файловой системе, а не в базе данных.

Таким образом, ваша таблица может иметь вид

CREATE TABLE audio_files {
        id INT(11) NOT NULL AUTO_INCREMENT,
        path VARCHAR(256) NOT NULL,
        name VARCHAR(256) NOT NULL,
        PRIMARY KEY(id)
}

Вы, вероятно, обнаружите, что не будет большой разницы в производительности, потому что вы работаете с небольшим количеством файлов - но для лучшей практики и будущей масштабируемости, поместите его в файловую систему!

Затемвытащить данные из базы данных, вы можете использовать простой PHP-скрипт для запроса базы данных, вытащить все пути и распечатать их на экране в виде ссылок.В приведенном ниже примере я использую PDO для доступа к базе данных, но вы также можете использовать более упрощенную функцию mysql_query (), если вы обращаетесь к вашей базе данных.

$query = $db->prepare("SELECT id, path FROM audo_files");
$query->setFetchMode(PDO::FETCH_ASSOC);
$query->execute();
$files = $query->fetchAll();
foreach($files as $file) {
      echo "<a href='" . $file['path'] . "'>" . $file['name'] . "</a>";
}

Вы хотели бы разместить свои файлы в общедоступном доступеобласть в веб-области, например, в папке assets / audio, а затем просто укажите относительный путь в вашей базе данных, например assets / audio / file1.mp3.

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