2012-07-09 68 views
0

我正在使用php构建CMS的过程,但是我一直在努力处理动态页面可以提供的各种不同资产,通常平均页面将包含图片(拇指,身体,主要等),内嵌图像和各种不同的资产(pdf,flv,mp4,doc等)。处理自定义cms的图像,视频和文档

目前用户可以上传资源并在服务器上创建一个文件夹,我只想要一些关于如何管理这些方面的技术和概念,以删除,编辑和链接到我的动态网页内的CMS?我已经有一个包含所有内容(meta_stuff,title,friendly_url,content_text等)的内容表。

在上传时应该将引用存储在资产表的某处吗? 资产(图片,文档,视频等)的所有路径是否应存储在一张表中?或为每个资产分开? 如果多个图像大小(小,中,大等)存储在不同的领域,例如(assetid,smallpath,mediumpath,largepath? 什么技术用于链接资产到动态页面?这应该是一个联接表或单个我怎么去检索不同资产的页面几个pdf和几个图像? 如何处理资产的删除,因为这可以引用到另一个动态页面? 和其他任何你认为会有益的东西?感谢您的全力帮助

回答

1

在与您所描述的场景类似的场景中处理资源(视频,图片,文档..)时,请注意以下几点基本事项:兵。

你想要的是要知道什么的被上传,的东西正在上传什么样的和的上传。要做到这一点,这是很好的有如下表:

编辑:很抱歉的错误,asset_types.asset_type_id应与assets.asset_type_id和NOT assesst.asset_id

enter image description here
(注:这只是一个大纲当然,你将有更多的字段)
这个模型可以很容易地完成以下任务

  • 上传:上传内容时,将其存储在某处(使用正确的 .htaccess配置),然后将该路径存储在表中。
  • 删除:当用户试图删除某些东西时,检查他是否是所有者。
  • 当你想添加一个新类型时,你不需要创建一个新表。

希望这会让你在正确的方向。

更新:回答您的评论,当用户想要将图像添加到例如一篇文章,你这里有两种选择:

  1. 用户呈现一个按钮/选择菜单/无论选择所需的图像,一旦点击它将添加<img src=LINK_TO_RESOURCE" />到内容的主体(确保你保护自己免受XSS)。

    OR

  2. 你用你自己的简单的标记,当图像此[[PREFIX_IMG:IMG_ID]]用户点击将被添加到内容的主体,内容被浏览时,你会替换“标签”与<img src="LINK_TO_RESOURCE" />您使用IMG_ID获得。

月2日更新:你有几个选项,以处理不直接嵌入了“文章”自己的资源。

  1. 你可以有一个领域中的“文章”表中,您可以拨打summary例如,还有一列到assets表,你可以打电话asset_sub_type,有不同的类型,如summary。然后,当您想要查看摘要时,您可以从数据库中获取摘要文本/标题,并将资源添加到该摘要中。

  2. (这是我使用的技术)从数据库中获取摘要时,我看到哪个图像是与该文章相关的数据库,并使用PHP随时调整大小,并将其附加到摘要中。

+0

感谢您的回复,我从来没有想过使用所有者的好主意。 当用户上传缩略图图像,主图像并且现在想要将其添加到多个内容页面时,会发生什么情况,现在应该将这些路径添加到实际的内容表本身,还是应该存在另一个包含内容表ID和资产ID?或者其他一些方法? – ninjamaster 2012-07-10 09:10:33

+0

再次感谢您花时间回答,对不起,我对我的问题不太清楚,我理解这个概念是关于实际内容中的内嵌图像,但是我正在谈论的不是本文中的图像内容,可用于列出文章的图像,列出视频缩略图或功能,例如,如果您查看http://www.bbc.co.uk/sport/0/ – ninjamaster 2012-07-10 10:46:09

+0

例如,单个内容页面可能有多个关联的图像,内容的大图像,要素中显示的中等图像,要在所有内容的列表中显示的缩略图图像等等。我想知道系统应该如何处理它?感谢您的帮助 – ninjamaster 2012-07-10 10:51:13