我正在使用php构建CMS,但是我在如何处理动态页面可以提供的各种不同资产方面苦苦挣扎,通常平均页面将包含各种大小的图片(拇指,身体,主要等),内嵌图像和各种不同的资产(pdf,flv,mp4,doc等)。
目前,用户可以上传资产并在服务器上创建文件夹,我只想了解如何在删除,编辑和链接到cms中的动态页面方面管理这些内容的技巧和概念?我已经有一个内容表,其中包含所有内容(meta_stuff,title,friendly_url,content_text等)。
在上传时,引用应该存储在某个资产表中吗? 资产的所有路径(图像,文档,视频等)是否应存储在一个表中?或分别为每项资产? 应该将多个图像大小(小,中,大等)存储在不同的字段中,例如(assetid,smallpath,mediumpath,largepath? 使用什么技术将资源链接到动态页面?这应该是一个联合表还是单个?我如何检索页面的几个pdf和几个图像的不同资产? 如何处理删除资产,因为这可以引用另一个动态页面? 以及你认为有益的任何其他事情?
感谢您的帮助
答案 0 :(得分:1)
在类似于您所描述的场景中处理资源(视频,图像,文档......)时,请记住以下几点基本事项。
您想知道的是 上传的内容,正在上传什么样的内容以及谁上传。要做到这一点,拥有以下表格是件好事:
修改:对于错误感到抱歉,asset_types.asset_type_id
应该与assets.asset_type_id
相关联,而不是assesst.asset_id
(注意:这只是一个大纲,当然你还有更多领域)
此模型可以轻松执行以下任务
.htaccess
配置)然后将该路径存储在表中。希望这会让你朝着正确的方向前进。
更新:回答您的评论,例如,当用户想要将图片添加到文章时,您有两个选项:
向用户显示一个按钮/选择菜单/选择所需图像的任何内容,点击后会将<img src=LINK_TO_RESOURCE" />
添加到内容正文中(确保您保护自己免受XSS攻击)。
OR
您使用自己的简单标记,当用户点击图片时,此[[PREFIX_IMG:IMG_ID]]
会被添加到内容正文中,当您查看内容时,您将替换#&#39; 34;标记&#34;使用<img src="LINK_TO_RESOURCE" />
获得的IMG_ID
。
第二次更新:您有几种方法可以处理未直接嵌入&#34;文章&#34;自己。
您可以在&#34;文章&#34;中添加字段。例如,您可以拨打summary
表格,再向assets
表格添加一列,您可以调用asset_sub_type
,并使用summary
等不同类型。然后,当您想要查看摘要时,可以从数据库中获取摘要文本/标题,然后将资源添加到该摘要中。
(这是我使用的技术)从数据库中获取摘要时,我看到哪个图像是与该文章相关的数据库,并使用PHP动态调整大小并将其附加到摘要中。