Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/228.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将图像文件名存储在数据库中,实际文件存储在服务器中,而不是将图像数据存储在数据库中,并使用脚本加载图像。_Php_Mysql_Database_Image Processing_Blob - Fatal编程技术网

Php 将图像文件名存储在数据库中,实际文件存储在服务器中,而不是将图像数据存储在数据库中,并使用脚本加载图像。

Php 将图像文件名存储在数据库中,实际文件存储在服务器中,而不是将图像数据存储在数据库中,并使用脚本加载图像。,php,mysql,database,image-processing,blob,Php,Mysql,Database,Image Processing,Blob,我正在做一个小型的社交媒体项目,我想做的事情之一就是允许用户上传图片。我最初考虑将实际文件上传到图像目录,并将文件名保存在数据库中,以便稍后调用 然而,一个目录中可以有多少文件是有限制的,文件大小可能是一个问题 因此,我没有走这条路线,而是简单地使用php的file\u get\u contents()函数将图像数据作为BLOB数据类型保存到数据库中,然后编写另一个脚本,从图像数据中呈现图像 这似乎是一种不需要动脑筋的更好的方法,因为图像数据的大小相对较小 不过我很担心,因为它似乎太方便了。我不

我正在做一个小型的社交媒体项目,我想做的事情之一就是允许用户上传图片。我最初考虑将实际文件上传到图像目录,并将文件名保存在数据库中,以便稍后调用

然而,一个目录中可以有多少文件是有限制的,文件大小可能是一个问题

因此,我没有走这条路线,而是简单地使用php的
file\u get\u contents()
函数将图像数据作为BLOB数据类型保存到数据库中,然后编写另一个脚本,从图像数据中呈现图像

这似乎是一种不需要动脑筋的更好的方法,因为图像数据的大小相对较小

不过我很担心,因为它似乎太方便了。我不应该这样做有什么原因吗?我是说一个真正可行的理由?因为我要走这条路,有什么东西会咬我的屁股吗


我希望这是发布此问题的正确位置。提前感谢。

请注意,从数据库提供图像通常比从磁盘提供图像慢得多。它将启动一个PHP进程,创建数据库连接,查询数据库,传输它,然后通过PHP推出,这将是不可缓存的

在数据库中存储图像有一些复杂性,但它允许更容易地排序和删除,如果安全性受到关注,您可以执行额外的检查,如果安全性受到关注,则可以执行日志记录

有关实施,请参阅


如果只考虑磁盘空间,可以考虑将图像存储在AWS S3或类似的文件中。

< P>请注意,从数据库中服务图像通常比从磁盘提供服务要慢得多。它将启动一个PHP进程,创建数据库连接,查询数据库,传输它,然后通过PHP推出,这将是不可缓存的

在数据库中存储图像有一些复杂性,但它允许更容易地排序和删除,如果安全性受到关注,您可以执行额外的检查,如果安全性受到关注,则可以执行日志记录

有关实施,请参阅


如果只考虑磁盘空间,您可以考虑将图像存储在AWS S3或类似的情况下。

如果一个或多个答案是正确的,您应该接受(并且适当地投票),因此该站点的其他用户知道哪一个是最好的和正确的回答您的问题。如果一个或多个答案是正确的,您应该接受(并且适当地投票)。一个是为了让本网站的其他用户知道哪一个是最好的,并正确回答您的问题。