Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.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_Upload - Fatal编程技术网

php图像上传

php图像上传,php,mysql,database,image,upload,Php,Mysql,Database,Image,Upload,哪个地方更适合上传图像?数据库还是在web目录中?为什么呢?我认为你无法将图像“上传”到数据库。您可以将图像的字符串值存储在数据库中,然后通过“header(“Content Type”)”将其流式传输。这节省了web服务器的空间,但显然占用了数据库的空间 如果我是你,我会上传到一个网络目录,这样你就有了以后常规URL请求的图像。如果您没有将图像保存在常规目录中,则每次请求图像时都必须连接到数据库,然后进行流式处理。如果您有特定的需要,例如安全性,或者需要将所有自定义数据保存在数据库中,则只应将

哪个地方更适合上传图像?数据库还是在web目录中?为什么呢?

我认为你无法将图像“上传”到数据库。您可以将图像的字符串值存储在数据库中,然后通过“header(“Content Type”)”将其流式传输。这节省了web服务器的空间,但显然占用了数据库的空间


如果我是你,我会上传到一个网络目录,这样你就有了以后常规URL请求的图像。如果您没有将图像保存在常规目录中,则每次请求图像时都必须连接到数据库,然后进行流式处理。

如果您有特定的需要,例如安全性,或者需要将所有自定义数据保存在数据库中,则只应将图像存储在数据库中


除此之外,将大文件放入数据库通常不值得费心。存储和检索文件的实现变得复杂得多,数据库更新/升级/转换可能会出现更多问题。

这取决于您的需求。 如果您认为安全性是一个主要问题,那么您肯定应该将其存储在db中,否则没有任何东西会导致您将图像存储在db中


另外,从数据库中重新查看图像相当复杂,因为数据库中的图像存储为二进制数据。所以,如果您有特殊需要,那么只将图像存储在数据库中,而将图像存储在目录中就可以了。

我不认为将图像存储在数据库中有什么优势。这当然没有内在的安全性。文件是用于文件系统的,因此将图像存储在其中。

正如您所看到的,使用/不使用数据库存储图像有很多原因。就我个人而言,我不喜欢使用数据库来存储文件(图像、文档等),除非我被命令存储它们

-有时,您会感到疲劳,并将查询搞砸,例如“从图像中选择*”,如果数据库中有太多大小巨大(2MB或更大)的图像,这将杀死服务器。 -安全问题:您仍然可以将文件保存在磁盘中,并且仍然是安全的,如何实现?我们将文件保存在web目录之外,每当请求文件时,读取文件并将其提供给用户。 -如果您使用的是MySQL:如果您的数据库太大(比如2-3 GB),并且您使用的是共享主机,那么祝您在备份或尝试恢复该图像数据库时好运


这只是我的观点

“图像的字符串值”就是我的意思。我不知道它的正确名称,抱歉。