我在数据库中插入图像时遇到问题。
该表具有以下结构:
- id->INT(3)->自动增量
- 名称->VARCHAR(30)
- 扩展名->VARCHAR(10) [可能太短]
- img->中型BLOB
插入图像的PHP代码是:
if($_FILES['file']['error']==0){
$result = is_uploaded_file($_FILES['file']['tmp_name']);
if(!$result){
echo "Upload failed";
}else{
$type = explode("/", $_FILES['file']['type']);
$extension = $type[1];
$name = $_FILES['file']['name'];
$img = $_FILES['file']['tmp_name'];
$img = file_get_contents($_FILES['file']['tmp_name']);
$img = addslashes ($img);
}
$sql = "INSERT INTO images (name, extension, img) VALUES ('$name', '$extension', '$img')";
$result = $mysqli->query($sql);
if($result){
echo "insertion was successful";
}else{
echo "insertion failed: ".$mysqli->error;
}
这就是我尝试查看 img 的方式:
$sql = "SELECT name, extension, img FROM images WHERE id='1'";
$result = $mysqli->query($sql);
if($result){
$a = $result->fetch_assoc();
header ("Content-type: image/".$a['estensione']);
echo $a['img'];
}else{
echo "AAAAAAAAA<hr>";
echo $mysqli->error;
}
插入是好的,但我无法查看图像。
另外,还有另一种方法可以在Db中上传图片吗?
第一个图像标签示例(您要显示结果的页面)
在标签中从fetch_image_frm_db.php页面获取图像,并显示
<img src="fetch_image_frm_db.php?id=<?php echo $id_of_row;?>"/>
fetch_image_frm_db.php 页面
$id=$_GET['id'];
$query = "SELECT * FROM images WHERE id=$id";
$result=mysql_query($query) or die('Error, query failed'.mysql_error());
$row=mysql_fetch_array($result);
header("Content-type:image/jpeg");
stripslashes ($row['img']);
echo $row['img'];
**将图像存储在数据库中不是一个好习惯
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)