繁体   English   中英

为什么要在数据库中保存上传的图像路径?

[英]Why save uploaded image path in database?

我有一个帖子系统,用户可以在帖子内部上传图像,我打算构建图像路径url,而不将上传的图像路径存储在数据库中。

我将仅使用唯一的帖子ID来构建帖子图片的网址路径,例如:

$path = "images/{$postID}/";

然后在渲染帖子时,我将使用

$images = glob($path);

删除帖子后,我将简单地:

unlink($path);

为什么我阅读的有关php图片上传的所有实现都包含用于存储图片路径的表? 为什么没有我不知道的任何缺点呢?

我认为可以稍加讨论。 尽管建议将图像位置存储在数据库中,但这并不总是最好的方法 如果您根据自己的逻辑,找到一些基于博客ID唯一地命名图像的算法,或者可以节省数据库等待时间的方法。

同样,我想给出一个示例用例的例子。 您可以通过两种方式从数据库中获取博客文本。 现在,您可以添加另一个字段来存储与之关联的图像数。 现在假设博客的唯一ID假设uq1 如果该博客有6张图像,则可以将图像命名为

$path = $uq1.$imageindex

请记住,您还必须将图像存储在同一路径中。 您总是可以看中并添加简单的XOR加密。 尽管主要在将敏感数据与其关联时使用XOR。 这将为您节省一些数据库延迟。 希望这可以帮助

这样做是一个好主意。 除非您不需要大量图像的副本,例如,如果您有大小为500K的图像apple.jpg,并且您有2000条帖子中应该包含苹果图像。 因此您将保存2000 x 500k的苹果图像。

但是,如果您将其保存在数据库中,并且只是从图库中选择图片,那么apple.jpg只能包含1张图片,但是使用数据库表可以链接2000条帖子。

但是,如果您不在乎! 有关重复项和数据大小的信息,或者您确定没有任何帖子具有任何其他图片! 没关系。

摘要:用id将所有帖子图像保存在文件夹中是一种简便的方法,但是用另一种方法会浪费您的空间(重复项等),将图像链接保存在数据库中,并将其链接到需要的每个帖子。 更好。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM