在div中使用php对图像进行“Echo”操作失败
从MySQL服务器中选择jpg图像后,当我尝试在单独的分区中回显它时,当我使用此选项时,它显示为ascii字符的混乱:在div中使用php对图像进行“Echo”操作失败,php,mysql,Php,Mysql,从MySQL服务器中选择jpg图像后,当我尝试在单独的分区中回显它时,当我使用此选项时,它显示为ascii字符的混乱: <!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>
<!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="image/jpeg; charset=UTF-8" />
<title>Untitled Document</title>
</head>
<body>
<div id = "myDiv">
<h2>Div</h2>
<?php
require_once('appvars.php');
require_once('connectvars.php');
$dbc = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);
$id = 1;
$query = "SELECT image FROM images WHERE id=?";
$stmt = $dbc->prepare($query);
$stmt->bind_param("i",$id);
$stmt->execute();
$stmt->store_result();
$stmt->bind_result($image);
$stmt->fetch();
echo $image;
?>
</div>
</body>
</html>
提前感谢您的帮助 浏览器无法理解这是您正在回显的div中的图像。您必须将此PHP脚本分离并使用。这会告诉浏览器内容是图像。呃。。。所以您发送的是HTML还是图像?你不能两个都送 当然,你可以通过一个data:URL,但这在旧版IE上不太受支持 从外观上看,使用HTML的唯一原因是设置内容类型标题。在这种情况下,您只需要PHP:
header("Content-Type: image/jpeg");
如果确实希望将图像嵌入到HTML中,请尝试:
echo "<img src=\"data:image/jpeg;base64,".base64_encode($image)."\" />";
你把这里搞得一团糟。首先,您有一个内容描述符错误的HTML文档。第二,您不能只将原始图像数据发送到HTML文档您需要在之前对其进行base64编码。首先,我不能说我建议您将图像或其他大型二进制文件存储在数据库中-您最好将它们存储在文件系统中,并将它们的路径存储在数据库中
第二,你不能只是在页面中间脱口而出图像数据。您需要使用HTML我很确定echo$图像;效果非常好。也许你应该写下你想问的问题?完全正确的意思是它是一堆ASCII字符,所以这是正确的。如果不这样做,您计算机上的内容将超出可接受的边界。我想知道数据库中的imagepath周围是否有html代码。