【发布时间】:2014-02-28 19:40:04
【问题描述】:
在此之前,我从未使用图像填充数据库。当我谈到它时,我将处理实际的上传脚本,但现在我在 phpMyAdmin 中创建表并且看不到任何相关的数据类型。
这甚至是正确的方法吗,还是将图像存储在文件系统中并仅将路径或文件名存储在数据库中会更好?如果这样做,我应该对文件名做些什么来“清理”它,例如用随机字符串重命名所有文件。
谢谢
【问题讨论】:
-
你后面的想法是我会做的;将文件名和随机字符串存储到数据库中,当您存储文件时,将其命名为该随机字符串。
-
是的,请考虑一下。在数据库中,我将存储用户上传的文件名、由脚本或自动递增 ID 生成的唯一文件名、完整的服务器文件路径、允许 URL 访问的公共文件路径、文件类型、文件大小、上传日期时间。将文件存储在文件系统中时,然后将其重命名为自动递增的 ID。
-
@MonkeyZeus 真的有必要吗?公共文件路径肯定可以硬编码到拉取图像的脚本中,我原以为可以使用某种函数从文件本身收集文件大小/类型和其他元数据,尽管在我的情况下我不能预见我需要。
-
要将文件存储在数据库中,您需要设置适当的数据类型。请参阅有关 blob 数据类型的参考手册:dev.mysql.com/doc/refman/5.6/en/blob.html
标签: php mysql image file-upload phpmyadmin