2013-11-25 202 views
0

在PHP中,如果我有一个图像上传选项在我的形式,那么我怎么能将该图像存储在数据库中,并根据需要我怎样才能检索它。我有一些形式,如名称年龄电子邮件等,一个领域是关于用户的形象。因此,告诉我如何上传图片并将其保存并在下一页中再次检索。我可以在HTML代码中使用简单的输入标签,并将类型声明为文件。在数据库中存储图像和检索它

<body> 
<input type="file" accept="image/jpeg" /> 
<input type="submit" value="Submit Form"> 
</body> 
+1

我会将数据库中的图像路径存储在数据库中,而不是图像本身 – AdRock

+0

将数据上传到硬盘驱动器并在db中插入路径/ file.jpg –

+0

为什么要将其存储在数据库中?为什么不在FTP上? – Legionar

回答

1
  1. 你必须使用<form>
  2. 您必须在窗体中具有enctype属性。

例子:

<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()上传。

Use this tutorial

PS:你希望把它上传到DB为什么?为什么不保存到服务器?

你应该把它存储在服务器上,并写路径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_*已被弃用。

相关问题