![在此输入图片说明] [1]在那里我创建一个上传信息表..... 我的HTML代码是......
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Add New Templete</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<?php include 'side.php'; ?>
<div class="main">
<h2>Add New Templete</h2>
<form action="add.php"method="post" enctype="multipart/form-data">
<table border="1px solid">
<tr>
<td>Templete Name:</td><td><input type="text" name="temp_name"></td></tr>
<tr>
<td>Templete Category</td><td><input type="text" name="category"></td></tr>
<tr>
<td>Templete Image</td><td><input name="MAX_FILE_SIZE" value="102400" type="hidden"><input type="file" name="image"></td></tr>
<tr>
<td>Templete Discription</td><td><input type="text" name="decp"></td></tr>
<tr>
<td>Templete Quantity</td><td><input type="text" name="qty"></td></tr>
<tr>
<td>Templete Price</td><td><input type="text" name="price"></td></tr>
<tr>
<td></td>
<td>
<input type="submit" value="ADD">
</td>
</tr>
</table>
</form>
</div>
</body>
</html>
这是用于将其插入数据库的PHP代码...
<?php
include 'connection.php';
$name=$_POST['temp_name'];
$cat=$_POST['category'];
$image=$_FILES['image'];
$desc=$_POST['decp'];
$qty=$_POST['qty'];
$price=$_POST['price'];
$qry="INSERT INTO templetes(templete_name,category,image,description,quantity,price)VALUES('$name','$cat','$image','$desc','$qty','$price')";
$res=mysql_query($qry,$con);
if($res)
{
header('location:product.php');
}
mysql_close($con);
?>
现在我想访问它并以某种方式显示所有信息,我的show.php代码是......
<?php
include 'connection.php';
$query = mysql_query("SELECT * FROM templetes");
$row = mysql_fetch_array($query);
$content = $row['image'];
header('Content-type: image/jpg');
echo $content;
?>
但没有数据被访问,我的show.php代码将无法工作,即使它不会显示我存储在数据库中的图像,而且我的数据库中的图像也没有正确的大小,意味着图像的原始尺寸是40.3 kb,当它保存在数据库中时,它的大小只有5kb,为什么?
如何在将图像保存到mysql中时调整图像大小,就像在yahoo中一样 个人资料或g +我们为我们的个人资料选择一个图像,它将适合一个 指定的框架。
答案 0 :(得分:0)
使用:
<?php
include 'connection.php';
$name=$_POST['temp_name'];
$cat=$_POST['category'];
$image = addslashes(file_get_contents($_FILES['image']['tmp_name'])); //<== modification
$desc=$_POST['decp'];
$qty=$_POST['qty'];
$price=$_POST['price'];
$qry="INSERT INTO templetes(templete_name,category,image,description,quantity,price)VALUES('$name','$cat','$image','$desc','$qty','$price')";
$res=mysql_query($qry,$con);
mysql_close($con); // move this here, I think header() function prevents code placed after it to be interpreted.
if($res)
{
header('location:product.php');
}
?>
使用此功能调整图片大小:http://php.net/manual/fr/function.imagecopyresized.php