簡體   English   中英

在PHP中更改標題內容類型

[英]change header content-type in php

我正在使用此代碼

$query = mysql_query("SELECT Image, Col2, Col3 FROM table ");
$row = mysql_fetch_array($query);
$content = $row['Image'];
header('Content-type: image/jpg');
echo $content;  
echo $row['Col2'];
echo $row['Col3'];

問題是,一旦我執行'Content-type: image/jpg' ,其他Col2和Col3就不會顯示。 它們不是圖像,而只是文本行。 如何同時顯示圖像和文本?

將標題內容類型設置為image / jpg時,瀏覽器僅需要圖像二進制數據。 回顯具有此內容類型的文本將破壞圖像二進制文件,並且不會顯示該文本。

在不更改標題的情況下,您可以將圖像編碼為圖像標簽:

echo '<img src="data:image/jpg;base64,' . base64_encode($content) . '" />';
echo $row['Col2'];
echo $row['Col3'];

你不能自己...

您正在發送內容類型的圖像數據,這意味着您發送的所有數據都被解釋為構成圖像的數據字節。

看到數據的唯一方法是使用header()函數發送對瀏覽器無用的任意數據。 然后使用您使用的Firebug或Wathever瀏覽器控制台,查找NETWORK選項卡,打開對圖像的請求,然后檢查headers選項卡,您將在此處看到數據,但無法向用戶顯示該數據。

header('mydata2: '.$row['Col2']);
header('mydata3: '.$row['Col3']);
header('Content-type: image/jpg');
echo $content;

另一種怪異的方法是使用GD在圖像上打印文本,但是那可能不是您想要的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM