在PHP中,如果我的表单中有图像上传选项,那么我如何将该图像存储在数据库中,并根据需要如何检索它。我有一个表格,其中包含名称年龄电子邮件等字段和一个字段是关于用户的形象。那么请告诉我如何上传图片并将其存储并在下一页中再次检索。我可以在HTML代码中使用简单的输入标记并将类型声明为文件。
<body>
<input type="file" accept="image/jpeg" />
<input type="submit" value="Submit Form">
</body>
答案 0 :(得分:1)
<form>
。示例:强>
<body>
<form action='index.php' method='POST' enctype='multipart/form-data'>
<input type="file" name="img" accept="image/jpeg" />
<input type="submit" name="submit_button" value="Submit Form" />
</form>
</body>
您必须使用$ _FILES,然后使用move_uploaded_file()
上传。
PS:你为什么要把它上传到数据库?为什么不保存到服务器?
您应该将其存储在服务器上,并写入DB的路径:
if (is_uploaded_file($_FILES['img']['tmp_name'])) {
move_uploaded_file($_FILES['img']['tmp_name'], 'some_folder_with_images/'.$_FILES['img']['name']);
}
然后这将是您的查询(示例),当然您应该转义文件名,或者只是在服务器上生成您自己的存储文件的文件名:
$query = "INSERT INTO images (image_path)
VALUES ('".$_FILES['img']['name']."')";
PS:使用mysqli_*
,不推荐使用mysql_*
。
答案 1 :(得分:1)
Sunil,如果要将图像插入/上传到数据库,则必须使用blob字段类型来插入图像。
我觉得你应该通过这篇http://vikasmahajan.wordpress.com/2010/07/07/inserting-and-displaying-images-in-mysql-using-php/文章来添加和检索图像/图片到db。