如何在mysql中上传和显示图像

时间:2012-12-04 06:44:16

标签: php mysql database

我想问你如何使用此代码在mysql和文件夹中正确存储图像:

<?php

if (isset($_FILES['image']) && $_FILES['image']['size'] > 0) { 

          // Temporary file name stored on the server
          $tmpName  = $_FILES['image']['tmp_name'];  

          // Read the file 
          $fp     = fopen($tmpName, 'r');
          $data = fread($fp, filesize($tmpName));
          $data = addslashes($data);
          fclose($fp);


          // Create the query and insert
          // into our database.
          $query = "INSERT INTO tbl_images ";
          $query .= "(images) VALUES ('$data')";
          $results = mysql_query($query, $conn);

          // Print results
          print "Thank you, your file has been uploaded.";

}
else {
   print "No image selected/uploaded";
}


if (!mysql_query($sql, $link))
   {
   die('Error: ' . mysql_error());
   }

?>'

如何正确显示它。 我的图像数据库是id,images。我是否需要更多工作或足够的工作。 谢谢。

2 个答案:

答案 0 :(得分:1)

从上面的代码中,图像将保存在数据库中而不是文件夹中。 要保存在文件夹中,您必须在插入查询后使用以下代码。

move_uploaded_file($tmpName,"upload/" .$filename );

此处上传是文件夹名称。

答案 1 :(得分:0)

如果要将图像存储在数据库中,可以使用base64_encode方法

$image = file_get_contents('filename.gif');
$imencoded = base64_encode($image);   
$query = "INSERT INTO tbl_images ";
$query .= "(images) VALUES ('$imencoded')";

但不建议在db中存储图像,并且在IE6&amp; 7。