gpt4 book ai didi

php数据库图片显示问题

转载 作者:太空宇宙 更新时间:2023-11-03 10:28:48 25 4
gpt4 key购买 nike

这是代码

<?php
session_start();

if(!isset($_SESSION['user_name']))
{
header('Location: login.php');
}

$conn = mysql_connect("localhost", "root", "") or die("Can no connect to Database Server");
?>

<html>
<head>

</head>
<body>
<center>
<div id="ser">
<form action="" method="post">


<label for="file">Card No:</label>
<input type="text" name="card_no" id="card_no" class="fil" onKeyUp="CardNoLength()" onKeyDown="CardNoLength()" onKeyPress="CardNoLength()"/>
<input type="submit" name="search" value="Search" class="btn" onClick="return CardNoLengthMIN()"/>
</form>
</div>
</center>
<br/><hr style="border: 1px solid #606060 ;" />
<center><a href="index.php">Home</a></center>
<br/>

<center>
<?php

if(isset($_POST['card_no']))
{
if($conn)
{
if(mysql_select_db("img_mgmt", $conn))
{
$sql = "select * from temp_images where card_no='".trim($_POST['card_no'])."'";
$result = mysql_query($sql);
$image = mysql_fetch_array($result);

if(isset($image['card_no']))
{

//echo "<img src=\"".$image['file_path']."\" alt=\"".$image['card_no']."\" width=\"250\" height=\"280\"/>";
header("Content-type: image/jpeg");
echo $image['img_content'];

}
else
{
echo "<p style=\"color:red;\">Sorry, Your search came with no results ! <br/> Try with different card number";
}
}
else
{
echo "Database selection error: ".mysql_error();
}
}
else
{
echo "Could not connect: ".mysql_error();
}
}
?>
</center>

</body>
</html>

但它在执行脚本后显示:

Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\img\search.php:61) in C:\xampp\htdocs\img\search.php on line 77

最佳答案

如果您已将图像内容保存在数据库中,您可以使用 data: uri 确实在 <img /> 中显示此内容标签。这允许您将不同 MIME 类型的内容嵌入到另一个内容中,请参阅 data URI scheme .

但是你真的不应该在数据库中保存任何文件(不管图像与否)。顾名思义,文件属于文件系统。在数据库中保存文件会产生巨大的开销。特别是对于图像,您需要(可能)一个加载图像的 php 脚本,例如。如果你使用类似 <img src="showimage.php?id=5" alt="..." /> 的东西.对于每张图片,您都需要调用一个额外的 php 脚本,而您一无所获。 Everyone会告诉你最好将文件保存在文件系统中并像往常一样通过文件系统加载它。所以你使用像 <img src="images/foobar/xyz.png" alt="..." /> 这样的标签反而。即使是 “我不希望我的数据库中的图像有任何‘断开的链接’” 参数也不算数,因为您只需在路径中使用 ID 并使用 file_exists()检查图片链接是否有效。

$path = 'images/useravatars/'.$row['ID'].'.png'; // as an example
if (file_exist($path)) {
echo '<img src="'.$path.'" alt="username" />';
} else {
echo '<img src="images/noimage.png" alt="No Image found" />';
}

关于php数据库图片显示问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2577416/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com