我正在尝试使用PHP上传图像并保存到MySQL数据库,使其能够接受bmp、jpeg等不同的扩展名。使用以下代码时,一些上载的图像显示不完整。
这是上传表单:
<html>
<form method="post" action="updateImage1.php" enctype="multipart/form-data">
<table border=0>
<tr>
<td><center><img src="getImage.php?id='.$row["No"].'" width=250 height=180/></center><br>
<input type="file" name="s4"><br>
<input name="update" type="submit" id="update" value="Save Changes" class="btn btn-primary" >
   
</form><a href="admin3.php"><button type="button" class="btn btn-primary">Cancel</button></a>
</tr>
</table>
</html>
这是updateImage1.php文件:
<?php
$s1 = addslashes(file_get_contents($_FILES['s4']['tmp_name']));
$host="localhost";
$user_name="root";
$database_name="5r";
$db=mysql_connect($host, $user_name,'');
if (mysql_error() > "") echo mysql_error() . "<br>";
mysql_select_db($database_name, $db);
if (mysql_error() > "") echo mysql_error() . "<br>";
$query = "UPDATE tblMain SET images='$s1' WHERE No=3";
$qresult = mysql_query($query);
echo "<script>alert('Records Successfully Updated'); location.href='admin3.php';</script>";
?>
这是getImage.php文件:
<?php
$No = $_GET['id'];
$link = mysql_connect("localhost", "root", "");
mysql_select_db("5r");
$sql = "SELECT images FROM tblMain WHERE No=$No";
$result = mysql_query("$sql");
$row = mysql_fetch_assoc($result);
mysql_close($link);
header("Content-type: image/jpeg/bmp/png");
echo $row['images'];
?>
header("Content-type: image/jpeg/bmp/png");
是否有效,根据手册 http://php.net/manual/en/function.image-type-to-mime-type.php - 我建议您查看 https://dev59.com/1HE85IYBdhLWcg3wvGKm#2634072/ - Funk Forty Ninerimages
的数据库类型是什么? - David