将图像直接存储到mysql(使用php POST)

时间:2012-12-24 10:33:46

标签: php

我从PHP表单映像发送到服务器,如

<input type="file" name="photo_1" />

在服务器上我这样做:

extract($_POST);
insertNewImage($photo_1); //insert into mysql , type is BLOB

但是在数据库中,它存储为FILE NAME.jpg不是二进制,所以我做错了什么?

3 个答案:

答案 0 :(得分:2)

  

我做错了什么?

这很明显:您试图将图像存储在数据库中,而不是将它们存储在文件系统中。

答案 1 :(得分:1)

您不希望将文件存储到数据库中。

为此,您最好将图像存储在服务器上,例如将其名称放在数据库中。然后,使用PHP代码,您将能够通过请求正确的名称来检索您的图像。

答案 2 :(得分:0)

除了您应该只在数据库中保存图片的名称这一事实:

如果您想在PHP中对上传的文件执行某些操作:

print_r($_FILES);

上传的文件存储在不同的PHP变量中。它们会自动生成为临时文件,如果您检查print_r显示的信息,您会注意到有一个名为tmp_name的字段,您只需要将$_FILES['id_of_the_form_input']['tmp_name']复制到要保存的路径中系统中的文件。