したがって、最後の質問は、検索からtechIDを表示する方法についてでした。
techIDを介してリンクされているサーバーの2つの別個の部分を参照するために「詳細」ページを表示しようとしています
私の新しい質問はまだこのページにあります。エコー画像も追加しました。 Blob
の使用に問題があり、バイナリJPEGデータではなく画像を表示しています。私はこれの別のインスタンスを見つけようとしましたが、私のエラーを修正するものを見つけることができません。
//Header ('Content-type: image/jpeg')
echo "<dt><strong>Technician Image:</strong></dt><dd>" . '<img src='.$row2['image'].' width="290" height="290">' . "</dd>";
そして
$query_Recordset2 = "SELECT * FROM technician WHERE techID=" . $row1["techID"] ;
$Rs2 = mysql_query($query_Recordset2) or die(mysql_error());
私が最後の質問からこれまでに加えた唯一の変更点です(明らかに、私が与えられた修正が含まれていました)。
私が理解していないのは、'Content-type: image/jpeg'
リンクされている画像を自分のページに認識させるには、MIMEタイプimage/jpeg
。
私のページで見ているのはこれです
技術者イメージ:�E��j��i`= 7f $D��o "�������b���Ckkc��R��^M�; n〜��0m)J�� R��E)JDR��E)JDR��E)JDR��E)JDR��E)JDR��E)JDSjR��)���+��N��.R、u��� �i��n9、���QX〜����{(����̮�:���2�12�� "��aV7�6���{�LP ����گ�R $ +���LMc'hM�5�o�PA����|���ګ���.8��E��ģ��Rn��1�... �{��3>�rY��X�ۜ;�Ǖ����u���z��'�vf�N ����z�Q�����k��3���O��ܨ�ۀ�?S���、N ������[{+D��;�'�$�$��iJR��)JR��)JR��)JR��)JR��)JR��)JR��)JR ��)JR��)JR��)JR��)JR��)��width = "290" height = "290">
明らかに私は中間のチャンクを削除したので、それは巨大ではありません。前面に小さな「壊れた画像」ボックスが表示されます。右クリックして「新しいウィンドウで画像を開く」を選択すると、挿入されるURLは単純にContent-type:
またはURL http:// localhost/Sim5Server/Pages/%EF%BF%BD%EF%BF%BD%EF%BF%BD%EF%BF%BD%EF%BF%BD%10JFIF%EF%BF%BD%01%02%EF%BF%BD%EF%BF%BDd%EF%BF%BDd%EF%BF%BD%EF%BF%BD%EF%BF%BD%EF%BF%BD%EF%BF%BDC%EF%BF%BD
インターネットへのリンクではないため、そのURLにスペースを入れました。
64Kb未満の小さな画像として必要なため、通常のBLOBタイプのみを使用しました
現在のケースでは、2つの先行オプションがあります。
1つ目は、このような画像が多数ある場合はお勧めしませんが、インラインbase64エンコードを使用することです。これは以下で行われます:
<img src="data:image/jpeg;base64,<?php echo base64_encode($image); ?>" />
既存のコードを使用したコピー/貼り付けバージョン:
echo '<dt><strong>Technician Image:</strong></dt><dd>'
. '<img src="data:image/jpeg;base64,' . base64_encode($row2['image']) . '" width="290" height="290">'
. '</dd>';
2番目の方法は、データベース内の画像のIDをクエリ文字列パラメーターとして受け取り、画像を出力する「画像」PHPファイルを作成することです。したがって、HTMLは次のようになります。 :
<img src="image.php?id=<?php echo $image_id; ?>" />
また、PHPページは次のようになります。
<?php
$id = (isset($_GET['id']) && is_numeric($_GET['id'])) ? intval($_GET['id']) : 0;
$image = getImageFromDatabase($id); // your code to fetch the image
header('Content-Type: image/jpeg');
echo $image;
?>
ドキュメントと同じページから画像を出力できる唯一の方法は、 data uri を使用することです。
echo "<dt><strong>Technician Image:</strong></dt><dd>" .
'<img src="data:image/jpeg;base64,'.
base64_encode($row2['image']).
'" width="290" height="290">' . "</dd>";
適切なコードは次のようになります。リソースIDを文字列に変更するには、stream_get_contents()を使用する必要があります。
<img src="data:image/jpeg;base64,<?php echo base64_encode(stream_get_contents($row2['image'])); ?>" />