处理自定义cms的图像,视频和文档

时间:2012-07-09 16:44:13

标签: php image content-management-system assets concept

我正在使用php构建CMS,但是我在如何处理动态页面可以提供的各种不同资产方面苦苦挣扎,通常平均页面将包含各种大小的图片(拇指,身体,主要等),内嵌图像和各种不同的资产(pdf,flv,mp4,doc等)。

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

在上传时,引用应该存储在某个资产表中吗? 资产的所有路径(图像,文档,视频等)是否应存储在一个表中?或分别为每项资产? 应该将多个图像大小(小,中,大等)存储在不同的字段中,例如(assetid,smallpath,mediumpath,largepath? 使用什么技术将资源链接到动态页面?这应该是一个联合表还是单个?我如何检索页面的几个pdf和几个图像的不同资产? 如何处理删除资产,因为这可以引用另一个动态页面? 以及你认为有益的任何其他事情?

感谢您的帮助

1 个答案:

答案 0 :(得分:1)

在类似于您所描述的场景中处理资源(视频,图像,文档......)时,请记住以下几点基本事项。

您想知道的是 上传的内容,正在上传什么样的内容以及上传。要做到这一点,拥有以下表格是件好事:

修改:对于错误感到抱歉,asset_types.asset_type_id应该与assets.asset_type_id相关联,而不是assesst.asset_id

enter image description here
(注意:这只是一个大纲,当然你还有更多领域)
此模型可以轻松执行以下任务

  • 上传:当上传某些内容时,您将其存储在某个位置(使用正确的内容) .htaccess配置)然后将该路径存储在表中。
  • 删除:当用户尝试删除某些内容时,请检查他是否是所有者。
  • 如果您想添加新类型,则无需创建新表格。

希望这会让你朝着正确的方向前进。

更新:回答您的评论,例如,当用户想要将图片添加到文章时,您有两个选项:

  1. 向用户显示一个按钮/选择菜单/选择所需图像的任何内容,点击后会将<img src=LINK_TO_RESOURCE" />添加到内容正文中(确保您保护自己免受XSS攻击)。

    OR

  2. 您使用自己的简单标记,当用户点击图片时,此[[PREFIX_IMG:IMG_ID]]会被添加到内容正文中,当您查看内容时,您将替换#&#39; 34;标记&#34;使用<img src="LINK_TO_RESOURCE" />获得的IMG_ID

  3. 第二次更新:您有几种方法可以处理未直接嵌入&#34;文章&#34;自己。

    1. 您可以在&#34;文章&#34;中添加字段。例如,您可以拨打summary表格,再向assets表格添加一列,您可以调用asset_sub_type,并使用summary等不同类型。然后,当您想要查看摘要时,可以从数据库中获取摘要文本/标题,然后将资源添加到该摘要中。

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