我从PHP表单映像发送到服务器,如
<input type="file" name="photo_1" />
在服务器上我这样做:
extract($_POST);
insertNewImage($photo_1); //insert into mysql , type is BLOB
但是在数据库中,它存储为FILE NAME.jpg
而不是二进制,所以我做错了什么?
答案 0 :(得分:2)
我做错了什么?
这很明显:您试图将图像存储在数据库中,而不是将它们存储在文件系统中。
答案 1 :(得分:1)
您不希望将文件存储到数据库中。
为此,您最好将图像存储在服务器上,例如将其名称放在数据库中。然后,使用PHP代码,您将能够通过请求正确的名称来检索您的图像。
答案 2 :(得分:0)
除了您应该只在数据库中保存图片的名称这一事实:
如果您想在PHP中对上传的文件执行某些操作:
print_r($_FILES);
上传的文件存储在不同的PHP变量中。它们会自动生成为临时文件,如果您检查print_r显示的信息,您会注意到有一个名为tmp_name
的字段,您只需要将$_FILES['id_of_the_form_input']['tmp_name']
复制到要保存的路径中系统中的文件。