php – 编写自己的媒体库:从哪里开始?

我想将媒体库添加到基于Zend Framework和Doctrine构建的定制CMS中.目标是建立像Worpress的媒体库:你可以上传媒体,然后将其附加到例如文章.

您对此有何建议?应该如何设计数据库?是否有任何代码可以(重新)用于构建它?有没有关于这个主题的文献?谢谢!!

最佳答案 我不知道如何构建WP库,但它是开源的,你可以看看.

至于表结构,假设你想要一个多对多链接,你需要一个交叉引用表,如:

record_id (int)
media_id (int)
title (text)
caption (text)
rank (int)

然后媒体表将是这样的:

id (int)
title (text)
caption (text)
filename (text)
type (image|multimedia|document)

也许您还要将media_id字段添加到媒体表中,或者您可能想要标记,在这种情况下,您有第三个表,其中media_id和标记为字段(或者您在媒体表中将标记作为逗号分隔值).

这样,您就可以将一个媒体链接到多个项目,将一个项目链接到多个媒体.它可以让您为媒体项设置标题和标题,并覆盖特定链接.例如,你有一个房子的图片,房子的标题是,但是在一个链接中,标题被覆盖(在交叉参考表中),文字说明这个房子是某个建筑的例子. SQL的合并函数将为获得正确的标题和标题而派上用场.

如果链接到媒体的内容来自多个表,假设您有一个名为“staff”的表和另一个名为“products”的表,并且它们都可以链接到媒体,那么交叉引用表也需要有一个table_name字段.类型字段使您可以轻松获取附加到记录的多媒体,或仅获取图像;您可能想要计算附加了多少文档,有多少图像等,基于每个查询的文件名,这意味着您的查询速度较慢.

这不太适合的一件事是在网站外托管媒体.如果你使用说Amazon S3来存储这些图像,那么’filename’字段实际上就是图像的URL.我只是在设计媒体库时需要考虑到这一点.

我想不出你可以复制粘贴的任何文献或代码,但这并不困难,尽管我很欣赏这可能很费时间.

祝你好运.

点赞