我有一个旧的用户网站,我们正在更新。该网站的用户之前已经上传了存储在目录中的个人资料照片。我现在想要将这些配置文件图像保存在数据库中(易于备份所有数据),但我在解决如何操作方面遇到了麻烦。
有很多教程正在谈论从刚刚上传的文件和使用tmp名称等方面进行此操作,但是如何使用已上传的文件重新创建?
我已经调查过了
$data = file_get_contents($filename);
这似乎创建了一个二进制文件,但似乎没有保存在数据库中:
mysql_query("UPDATE profiles SET company_logo = mysql_real_escape_string('".$data."') WHERE id = 1 ") or die(mysql_error());
*的 更新 * 所以在进一步研究之后,我想我会选择大多数并保存图像,因为它们已经存在......在文件夹中..
答案 0 :(得分:1)
将图像存储在数据库中通常是个坏主意。
最好将图像存储在文件中,并在字段或表格中保留引用。
但是,如果要存储它们,则必须将它们存储为BLOB(Binairy Large OBject)。在BLOB字段上,不进行字符转换。存储它们时,必须将它们完全存储为文件内容。因此删除mysql_real_escape string
,因为它会弄乱您的二进制数据。