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