我需要上传4,000个小音频(约30秒长)而不是铃声:) 同样我有4,000个html文件。 我开始了解mysql是处理如此大量数据的最佳方式。 但是我不知道如何使用mysql数据库,如何组织音频和放大器html文件。如果有一个有效的例子,那么我将非常感谢你的帮助。
答案 0 :(得分:1)
您可以使用BLOB数据类型直接在MySQL中存储文件。但是,最好的方法是将音频文件存储在目录中,然后将该路径存储到数据库中。这是因为,在某一点之后,将文件存储在文件系统而不是数据库中会更有效。
所以你的表可以是,
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>";
}
您可能希望将文件放在网络区域的公共可访问区域,例如在资产/音频文件夹中,然后只在数据库中放置一个相对路径,例如资产/音频/ file1.mp3。