在mysql / phpmyadmin上传和显示图像

时间:2015-07-12 02:37:56

标签: php html mysql phpmyadmin

我目前正在尝试创建一个.php页面来上传图像以存储在phpmyadmin中的表中。然后显示它们。

首先,首先将图像添加到数据库中的表中。 phpmyadmin中的层次结构是:localhost - >图像 - >问候卡。

目前我正在尝试插入贺卡表,因为稍后我将为多个类别提供多个表格并分别显示它们。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>upload</title>
</head>

<body>

<form action="upload.php" method="post" enctype="multipart/form-data">
<input type="file" name="file_upload" />
<input type="submit" name="submit" value="upload" />
</form>


<?php
include '/var/db_file.php';
if(isset($_POST['submit']))
{
  $conn = mysql_connect("localhost","root", $pass);
  mysql_select_db("images");
  
  /* Variable inits */
  $imageName = $imageData = $imageType = null;

  $imageName = mysql_real_escape_string($_FILES["image"]["name"]);
  $imageData = mysql_real_escape_string(file_get_contents($_FILES["image"]["tmp_name"]));
  $imageType = mysql_real_escape_string($_FILES["image"]["type"]);

  if(substr($imageType,0,5) == "image"){
    mysql_query("INSERT INTO 'Greeting_Cards' VALUES('','$imageName','$imageData')");
    echo "Image Uploaded!";
  }
  else{
    echo "Has to be an image!";
  }
}
?>
</body>
</html>

上传的图片不会显示在表格中。我正确登录数据库。 “贺卡”表下的结构是:id(int11),name(varchar30)和image(blob)。 www.mydomainname.net/upload.php上显示的唯一错误/警告是:

  

注意:未定义索引:第27行/var/www/html/upload.php中的图片

     

注意:未定义索引:第28行/var/www/html/upload.php中的图片

     

警告:file_get_contents():文件名不能为空   第28行/var/www/html/upload.php

     

注意:未定义索引:第29行/var/www/html/upload.php中的图像   必须是一个形象!

要显示图像,我必须先通过此步骤。如果发生任何更新,将报告此帖子。

修复1:错误的名称:更改为name =“image”以匹配php变量参数。 修复2:返回刻度不是表名的单引号。可选:指定列。

先谢谢你的帮助!

2 个答案:

答案 0 :(得分:0)

上传图片

<!--?php
include("mysqlconnect.php");

    function GetImageExtension($imagetype)
     {
       if(empty($imagetype)) return false;
       switch($imagetype)
       {
           case 'image/bmp': return '.bmp';
           case 'image/gif': return '.gif';
           case 'image/jpeg': return '.jpg';
           case 'image/png': return '.png';
           default: return false;
       }
     }



if (!empty($_FILES["uploadedimage"]["name"])) {

    $file_name=$_FILES["uploadedimage"]["name"];
    $temp_name=$_FILES["uploadedimage"]["tmp_name"];
    $imgtype=$_FILES["uploadedimage"]["type"];
    $ext= GetImageExtension($imgtype);
    $imagename=date("d-m-Y")."-".time().$ext;
    $target_path = "images/".$imagename;


if(move_uploaded_file($temp_name, $target_path)) {

    $query_upload="INSERT into 'images_tbl' ('images_path','submission_date') VALUES 

('".$target_path."','".date("Y-m-d")."')";
    mysql_query($query_upload) or die("error in $query_upload == ----> ".mysql_error());  

}else{

   exit("Error While uploading image on the server");
} 

}

?>;

显示图像

<!--?php
include("mysqlconnect.php");

$select_query = "SELECT 'images_path' FROM  'images_tbl' ORDER by 'images_id' DESC";
$sql = mysql_query($select_query) or die(mysql_error());    
while($row = mysql_fetch_array($sql,MYSQL_BOTH)){

?-->

<table style="border-collapse: collapse; font: 12px Tahoma;" border="1" cellpadding="5" cellspacing="5">
<tbody><tr>
<td>

<img src="<?php echo $row[" images_path"];="" ?="">" alt="" />">

</td>
</tr>
</tbody></table>

<!--?php
}
?-->

答案 1 :(得分:0)

修复1:错误的名称:更改为name =“image”以匹配php变量参数。

修复2:返回刻度不是表名的单引号。可选:指定列。