将图像上载到数据库并显示图像


Upload image to a database and Display the image

我有一个html表单,我在表单中添加了一个{input type="file"name="file"}标记。当我选择一个图像并点击提交时,它如何提交到数据库,以及如何将图像检索到php文件?

{我的数据库名称-上传img}

{我的数据库用户名root}

{无数据库密码}

{表名-Table_image}

您可以通过以下代码上传文件

if (file_exists("upload/" . $_FILES["file"]["name"]))
  {
  echo $_FILES["file"]["name"] . " already exists. ";
  }
else
  {
  move_uploaded_file($_FILES["file"]["tmp_name"],
  "upload/" . $_FILES["file"]["name"]);
  echo "Stored in: " . "upload/" . $_FILES["file"]["name"];
  }

建议将上传的图像存储在文件夹中,并将图像名称存储在数据库中。要上传图像,首先需要检查表单标记中的enctype属性。您应该在表单标记中指定enctype="multipart/form-data"属性。如果没有此属性,则不会上传图像,然后可以使用$_FILES['field_name']['name'],$_FILES['field_name']['tmp_name'],..... 上传图像

但是,如果您想将图像直接插入数据库,则应使用数据库列数据类型BLOB

                            $name = $_FILES["file"]["name"];
            $type =  $_FILES["file"]["type"];
            $timestamp = date('Y-m-d h:i:s');               
            $size = $_FILES["file"]["size"];
            $allowedExts = array("gif", "jpeg", "jpg", "png");
        $temp = explode(".", $_FILES["file"]["name"]);
        $extension = end($temp);
        if ((($_FILES["file"]["type"] == "image/gif")
        || ($_FILES["file"]["type"] == "image/jpeg")
        || ($_FILES["file"]["type"] == "image/jpg")
        || ($_FILES["file"]["type"] == "image/pjpeg")
        || ($_FILES["file"]["type"] == "image/x-png")
        || ($_FILES["file"]["type"] == "image/png"))
        && in_array($extension, $allowedExts))
          {
          if ($_FILES["file"]["error"] > 0)
            {
            echo "Return Code: " . $_FILES["file"]["error"] . "<br>";
            }
          else
            {
            "Upload: " . $_FILES["file"]["name"] . "<br>";
            "Type: " . $_FILES["file"]["type"] . "<br>";
            "Size: " . ($_FILES["file"]["size"] / 1024) . " kB<br>";
            "Temp file: " . $_FILES["file"]["tmp_name"] . "<br>";
              if(move_uploaded_file($_FILES["file"]["tmp_name"], "/images/" . $_FILES["file"]["name"]))
              {
             $sql = 'insert into table_image(img_name, type, size, uploadtime, status) values("'.$name.'", "'.$type.'", "'.$size.'", "'.$timestamp.'", "1")';
                 $rs = mysql_query($sql);                                       
               }     
            }
          }
        else
          {
          echo "Invalid file";
          }
        }
          $sql = 'select * from table_image';
          $rs = mysql_query($sql);
          while($row = mysql_fetch_array($rs))
           {    
              echo '<img src="images/'.$row['img_name'].'">';
              }