PHP&;MYSQL-我应该如何处理我的图像数据?

PHP&;MYSQL-我应该如何处理我的图像数据?,php,mysql,image,blob,Php,Mysql,Image,Blob,我正在创建一个博客,每个帖子上都有一个特色图片。我左右为难,我不知道如何处理我的图像数据 我应该使用BLOB将图像数据插入MYSQL数据库吗 或者我应该创建一个上传程序,将一个目录放到用户图片文件夹中,并以这种方式上传照片……然后在添加博客文章时直接在图片字段中引用它 有没有标准化的方法 亲切问候,, adam将文件上载到服务器,并将文件的位置保存在数据库中。与MySQL相比,您的数据库和HTTP守护进程在提供图像方面的压力更小 通常的方法不是将文件存储在DB中,除非您理解为什么需要将文件存储在

我正在创建一个博客,每个帖子上都有一个特色图片。我左右为难,我不知道如何处理我的图像数据

我应该使用BLOB将图像数据插入MYSQL数据库吗

或者我应该创建一个上传程序,将一个目录放到用户图片文件夹中,并以这种方式上传照片……然后在添加博客文章时直接在图片字段中引用它

有没有标准化的方法

亲切问候,,
adam

将文件上载到服务器,并将文件的位置保存在数据库中。与MySQL相比,您的数据库和HTTP守护进程在提供图像方面的压力更小

通常的方法不是将文件存储在DB中,除非您理解为什么需要将文件存储在DB中。所以,由于您不确定,所以将它们存储在上载文件夹中要简单得多


但是,为了防止您决定需要在DB中存储文件(无论是图像还是其他),您必须声明BLOB字段,然后使用支持BLOB的DB机制保存它。这是一个很好的例子,说明了如何制作图像。您应该将图像存储在文件夹中。单击下面的链接,您可以从中了解如何裁剪不同大小的图像并将图像名称存储到数据库表中:


将图像数据转换为base64。这可以在PHP中完成:


将图像存储在数据库中是一个安全图像的好主意。

始终将图像、音乐文件等存储在磁盘上的系统文件中,然后将指向它们的URL存储在数据库中。那就够了

1) 更快

2) 更易于配置安全设置

3) 在我能想象的任何方面都更好

劣势
如果文件系统损坏,您将很难恢复

您也可以使用第三方图像托管站点,您可以使用AmazonS3或Mosso云文件

文件系统的问题是难以扩展

Facebook使用
cassandra
存储图像


因为它是blog,所以您可以在文件系统中存储图像。

这两种方法都是有效的

它们有不同的优点/缺点

将其存储在数据库中意味着您需要添加额外的代码来将图像更改为一个表示形式,该表示形式将适合INSERT/UPDATE语句(base64是一种方法,需要等效的解码,但您可以只使用mysql\u real\u escape\u string()。尽管您不能直接查询图像(除了查找精确匹配),但与在数据库中查找路径然后检索文件相比,它可能会减少检索数据所需的查找和I/O操作的数量

与在多个节点上运行时设置数据库和文件系统的复制相比,设置数据库的复制要简单得多。还有保持文件系统和数据库备份同步的问题

OTOH,使用文件系统使您的数据表更小,因此从中检索记录的速度更快

这将在用户图像文件夹中创建一个目录

您当然不希望允许用户直接将内容上载到Web服务器的文档树中—无论您选择哪种路径,数据都应该存储在Web服务器无法直接访问但代码可以访问的位置