PHP是否在MySQL中存储图像?

2022-08-30 14:03:39

我已经用PHP构建了一个小型Web应用程序,用户必须首先登录。一旦他们登录,我打算在他们的“个人资料”中显示一个小缩略图。

我必须确保图像低于特定尺寸以节省空间,或者确保它是特定的分辨率,或者两者兼而有之,或者甚至可能使用像图像魔术这样的东西来缩小它。
不确定最好的方法是什么,欢迎任何想法。

另外,我一直在尝试确定是否最好将MySQL表中的图像存储为blob,或者可能是具有唯一ID的单独表,然后将适当的图像ID存储在表中,或者只是将上传的文件保存在服务器上(也通过上传页面)并将文件另存为.最好的选择?usersimagesuserstheUsersUniqueUsername.jpg

我在这里找到了一个关于将图像保存到mysql的教程:http://www.phpriot.com/articles/images-in-mysql

我只是一个业余程序员,以前从未做过这样的事情,所以非常感谢示例和/或很多细节。


答案 1

总是取决于上下文,但通常,我将用户映像存储在文件系统上一个名为的文件夹中,并尝试尽可能少地打扰数据库。/content/user/{user_id}.jpg


答案 2

我建议将图像存储为文件,然后将文件URI存储在数据库中。如果将所有图像存储在数据库中,则在以后缩放时可能会遇到一些问题。

看看这个答案

微软对SQL Server的建议过去是,为了速度和大小,将图像存储在文件系统中,并在数据库中提供链接。我认为他们已经软化了他们的偏好,但我仍然认为这对大小肯定是一个更好的主意,因为它不会占用数据库中的空间。


推荐