我目前正在尝试创建一个.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:返回刻度不是表名的单引号。可选:指定列。
先谢谢你的帮助!
答案 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:返回刻度不是表名的单引号。可选:指定列。