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

时间:2013-11-19 06:44:54

标签: php mysql

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

{我的数据库名称 - uploadimg}

{我的数据库用户名 - root}

{无数据库密码}

{Table name - table_image}

4 个答案:

答案 0 :(得分:0)

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

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"];
  }

答案 1 :(得分:0)

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

上传图片

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

答案 2 :(得分:0)

                            $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";
          }
        }

答案 3 :(得分:0)

          $sql = 'select * from table_image';
          $rs = mysql_query($sql);
          while($row = mysql_fetch_array($rs))
           {    
              echo '<img src="images/'.$row['img_name'].'">';
              }