如何将图像文件存储在站点的后端

Gro*_*ler 5 php mysql sql phpmyadmin web

我正在建立一个网站,并刚刚开始开发后端.

我的网站的重点是向访问者显示图像.出于开发目的,我想在上线之前先测试所有内容.

我想知道存储这些图像的最佳方式是什么.我刚刚完成了我的Wamp服务器的设置,并添加了一个带有phpMyAdmin的新数据库.我发现我可以将每个图像作为BLOB数据类型直接存储在mySQL数据库中.但这是最好的方式吗?

谢谢!

Emi*_*röm 7

这肯定不是要走的路.然后,您需要在将blob 发送到浏览器之前将其保留在PHP 内存中.

更好的方法是将图像作为文件存储在文件系统中,并将文件名存储在数据库中.这样,您可以将服务的整个映像卸载到Web服务器,并且永远不会将PHP包含在文件的HTTP请求中.


Rok*_*alj 5

将文件存储到数据库有两个主要优点:

  1. 交易安全.如果用户编辑了他的个人资料(图片和出生日期),则两者都会被保存,或者两者都不会出现回滚/错误.

  2. 只需一个备份点.忘记备份包含用户头像的目录不会发生这种情况.

但是,由于存在许多缺陷,我不推荐它,特别是不使用PHP和MySQL.MySQL不支持流式传输,所以如果是大文件,你将耗尽所有内存.

文件系统无疑是最快,最自然的方式.它的开销最小,资源最少.

读:

将文件存储在数据库中而不是文件系统中?

将文档作为Blob存储在数据库中 - 有什么缺点吗?