我写了这段代码来显示图片:
<?php
$sel = " SELECT *
FROM immagini
WHERE id= ".$_GET['idx'];
$ris = mysqli_query($con,$sel);
$count = mysqli_num_rows($ris);
if($count >= 1) echo "<h1>Dettagli dello studente: </h1>";
while ( $riga = mysqli_fetch_array($ris)) {
echo "ID = ".$riga['id']; ?> <br > <?php
echo "Nome = ".$riga['name']; ?> <br > <?php
echo "Descrizione = ".$riga['descrizione']; ?> <br > <?php
$imageData= $riga["image"];
header("content-type :image/jpeg");
echo $imageData;
}
?>
但结果如下:
Dettagli dello studente: ID = 2 Nome =朱莉娅 Descrizione = Questo frattale ha delle caratteristiche particolari,in quanto ..... JFIF,, C!“$”$ C }!1AQa“q2 #B R $3br %&amp;'() * 456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq“2 B #3R br $4 %安培;'() 56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ·Lޙ} cW6Pm $ύp7bj T8 ?? A W&GT。 EW3 / -KXI〜}%6A \;8$ ^ IU} K和] L&LT ; Q l 4 ܗ ӳ gK f g y4 F@ gC+ -+ 7 ( } fhA o * u b ?m t# :u ]#Ȯ Ȯ Tѕ { ˯ 7I j _R3 P |d + u % + 1?+ u6cwm5Hom5 @ 5 / w的j j_ :7 to ? 〜 + T R Ww ƨ C P I ; 9 ; P _ 3 q 7T . + h &gt; 7' w j r 1W w Σ .. 4 B R Ww Σ? 〜 + T R Ww ƨ C P K 7 F ] o 5 @ 5/ w j jO 9 so j- ? m 7U(J; ; 3o J 1 “ q { L| ? u r L Qob ^)f ? N Y^ ; mKR 8 3XZ;)X E7 | 3#SG8 * GT;SϿe〜/ =9 &gt; } V / $O &gt;w I N A&gt; R ,/] Z} &安培; AC〜O4 _#(5Sϭj| DW 97틏K /的Gx(YFK = HF?.xrBmi 7Q” .F /Ɲ8xO;?!{IX (F'ޛ?# r i ^ G {9 8 G u (u m G g Q g ^ 〜 = Q i .y q i t u 4u ? ! ! iK { δH(#; yji:GOZ = E {$ R&GT; [9I | F2的i3%ZՌ&N_ 8 pO x t?ܭcFr n#_ UY t / (S e wF ; y _N: t' 8Ez 7) d ; 3'T N ' , wBx 3ұ K+ Fr | ”,@; E! TCR%xF的] NG)d QH
我怎样才能解决这个问题?????我认为图像转换存在问题。 Thanksss。
答案 0 :(得分:1)
echo "ID = ".$riga['id']; ?> <br > <?php
echo "Nome = ".$riga['name']; ?> <br > <?php
echo "Descrizione = ".$riga['descrizione']; ?> <br > <?php
在您发送了如此多的回声之后
header("content-type :image/jpeg");
那里没有意义,因此搞砸了输出。如果要发送图像内容,则只能使用正确的标头发送该图像内容。您不能在一个响应中混合图像和文本。
TLDR; 使用标题删除除图像内容之外的所有其他回音。
答案 1 :(得分:1)
当你必须从数据库输出图像时(虽然这基本上是一个坏主意)确保你不回应任何东西,只需像这样发送标题:
<?php
$imageData= $riga["image"];
header("content-type :image/jpeg");
echo $imageData;
?>
但是你应该重新编写一些代码以使其更加可用。
答案 2 :(得分:0)
我同意Hanky Panky,你不能混合需要不同输出方法的图像和文字。
假设使用了base64,而不是
$imageData= $riga["image"];
header("content-type :image/jpeg");
echo $imageData;
你可以尝试吗?
$imageData= "<img src='data:image/jpeg;base64,".$riga["image"]."' />";
echo $imageData;
此外,How to display Base64 images in HTML?提供了更多可以帮助您的信息
答案 3 :(得分:0)
除了Hanky Panky和WongFailHung提出的观点之外,为了响应相同的请求,您不能输出超过图像的内容。实际上,您可以发送数据,但您只能看到第一张图片。