Поэтому мой последний вопрос заключался в том, как показать мой метод techID в результате поиска:
Я пытаюсь, чтобы моя страница «Подробности» ссылалась на две отдельные части моего сервера, которые связаны через techID
Мой новый вопрос все еще находится на этой странице. Я добавил также эхо-изображение. но у меня возникли проблемы с использованием 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 TYPE image/jpeg
.
То, что я вижу на моей странице, это
Техник Изображение: E j i` = 7f $ D o " b Ckkc R ^ M ; n ~ 0 & m) J RE) JDRE) JDRE) JDRE) JDRE) JDRE) JDSjR) + N.R, U i n9, QX ~ {( ̮ : 2 12 " aV7 6 { LP [ W گ 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 (JR3) JR3) JR4) JR4) JR4) JR4) JR4) JR2) & thetas; ширина = "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-адресе, так как это не ссылка для Интернета.
Я использовал обычный BLOB-тип, поскольку мне это просто нужно как маленькое изображение менее 64 КБ
В вашем текущем случае у вас есть два варианта upfront.
Первый, и тот, который я не рекомендую, если у вас есть многочисленные изображения, подобные этому, заключается в использовании встроенной кодировки 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>';
Второй способ – создать «образный» 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; ?>
Единственный способ вывода изображения с той же страницы, что и документ, – с помощью uri данных .
echo "<dt><strong>Technician Image:</strong></dt><dd>" . '<img src="data:image/jpeg;base64,'. base64_encode($row2['image']). '" width="290" height="290">' . "</dd>";
Правильный код должен быть следующим. Вы должны использовать stream_get_contents () для изменения идентификатора ресурса в строку.
<img src="data:image/jpeg;base64,<?php echo base64_encode(stream_get_contents($row2['image'])); ?>" />
Я считаю, что лучшим решением является сохранение пути изображения в базе данных, а не сохранение всего изображения в виде BLOB. А затем для показа изображения на веб-странице установите свойство src тега img в путь, хранящийся в базе данных.