0

我正在使用 php 构建 CMS,但是我正在努力处理如何处理动态页面可以提供的各种不同资产,通常一个平均页面将包含各种尺寸的图片(拇指、正文、主要等) 、内嵌图像和各种不同的资产(pdf、flv、mp4、doc 等)。

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

上传时是否应该将参考存储在资产表中的某处?是否应该将所有资产路径(图像、文档、视频等)存储在一个表中?还是为每个资产分开?是否应该将多个图像尺寸(小、中、大等)存储在不同的字段中,例如(assetid、smallpath、mediumpath、largepath?使用什么技术将资产链接到动态页面?这应该是一个连接表还是单个?如何我是否要为一个页面检索多个 pdf 和多个图像的不同资产?如何处理资产的删除,因为这可以引用到另一个动态页面?以及您认为有什么其他好处?

感谢你的帮助

4

1 回答 1

1

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

你想要知道上传的是什么,上传的是什么类型的东西以及上传的是。为此,最好有以下表格:

编辑:对不起这个错误,asset_types.asset_type_id应该链接到assets.asset_type_id而不是assesst.asset_id

在此处输入图像描述
(注意:这只是一个大纲,当然你会有更多的字段)
这个模型可以很容易地完成以下任务

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

希望这将使您朝着正确的方向前进。

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

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

    或者

  2. 您使用自己的简单标记,当用户单击图像时,这[[PREFIX_IMG:IMG_ID]]将被添加到内容的正文中,当查看内容时,您将<img src="LINK_TO_RESOURCE" />使用IMG_ID.

第二次更新:嗯,你有几个选项来处理不直接嵌入“文章”本身的资源。

  1. 例如,您可以在“文章”表中拥有一个可以调用的字段summary,并在表中再添加一个列assets,您可以调用它asset_sub_type并具有不同的类型,例如summary. 然后,当您想查看摘要时,您从数据库中获取摘要文本/标题并将资源添加到其中。

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

于 2012-07-09T17:07:17.607 回答