首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用php在数据库中插入和检索图像

如何使用php在数据库中插入和检索图像
EN

Stack Overflow用户
提问于 2013-05-05 16:17:33
回答 5查看 45.5K关注 0票数 2

我正在尝试上传会员资料的图片,并使用php将其存储在数据库中,然后检索它,但它对我不起作用

这就是我尝试插入图像的方法:

代码语言:javascript
运行
复制
<html>
<head>
<title> Upload an image </title>
</head>
<body>
<form action="index.php" method="POST" enctype="multipart/from/data">
  File:
  <input type="file" name="image" > <input type="submit" value="upload">
</form>
</body>
</html>
<?php

  mysql_connect("localhost", "root","") or die ("could not connect to the server");
  mysql_select_db("project") or die ("that database could not be found");

  $file = $_FILES['image']['tmp_name'];

  if (!isset($file))
     echo "please select file";
  else
  {

     $image= addslashes(file_get_contents($_FILES['image']['tmp_name']));
     $image_name = addslashes($_FILES['image']['name']);
     $image_size = getimagesize($_FILES['image']['tmp_name']);

     if($image_size == FALSE)
        echo "that not image ";

     else
     {

         if (!$insert= mysql_query("INSERT INTO user_info (image) VALUES ('$image')"))
             echo "Problem";

         else
         {

             echo "image: <p /> your image <p /><img src='view.php?id="id"'>";
         }
     }


 }

这个是用来检索图像的

代码语言:javascript
运行
复制
<?php

   // do some validation here to ensure id is safe
   mysql_connect("localhost", "root","") or die ("could not connect to the server");
   mysql_select_db("project") or die ("that database could not be found");
   $id = addslashes($_REQUEST['id']);

   $image = mysql_query("SELECT * FROM user_info WHERE id='$id'");
   $image = mysql_fetch_assoc($image);
   $image = $image['image'];

   header("Content-type: image/jpeg");
   echo $image;
?>
EN

回答 5

Stack Overflow用户

发布于 2013-05-05 16:28:58

我想你应该重新考虑一下你在做什么。

为什么要将文件存储在mysql数据库中?我的意思是这有什么意义呢?

文件系统是用于存储文件的专家数据库。所以最好不要把你的文件放在一个普通的数据库里,而是放在文件系统里。

图像可以在目录(0102003.gif)中使用数字命名,并可以通过mysql记录中的文件名进行寻址。

如果你真的需要在数据库中存储文件,mysql不是一个合适的工具。

看看mongoDB吧。

PS: mysql接口已弃用,请使用mysqli或PDO。

票数 3
EN

Stack Overflow用户

发布于 2013-05-05 16:35:27

要在php网站上存储图片,您只需将文件放在一个目录中,并将文件名保存在mySQL数据库中。祝你好运!

票数 0
EN

Stack Overflow用户

发布于 2014-02-24 13:56:12

试试这段代码,它会对你有帮助。

代码语言:javascript
运行
复制
<?php
    mysql_connect("localhost", "root","") or die ("could not connect to the server");
    mysql_select_db("database1") or die ("that database could not be found");

    $file = $_FILES['image']['tmp_name'];

    $image= addslashes(file_get_contents($_FILES['image']['tmp_name']));
    $image_name = addslashes($_FILES['image']['name']);
    $image_size = getimagesize($_FILES['image']['tmp_name']);

    mysql_query("INSERT INTO table1 (id,image) VALUES ('1','{$image}')");        
?>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16382672

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档