PHP에서 MySQL 데이터베이스의 BLOB 이미지를 표시하는 방법은 무엇입니까?

Linda Hamilton
풀어 주다: 2024-11-22 06:27:13
원래의
390명이 탐색했습니다.

How to Display BLOB Images from a MySQL Database in PHP?

MySQL 데이터베이스에서 BLOB 이미지 표시

MySQL 데이터베이스에서 BLOB 이미지를 표시하려는 과정에서 다음 문제가 발생했습니다. PHP 페이지는 이미지를 실제 이미지 대신 바이너리 데이터로 표시합니다. 이 문제를 해결하기 위한 솔루션을 자세히 살펴보겠습니다.

표시되는 오류는 적절한 "Content-Type" 헤더 선언이 부족하여 발생합니다. 이 헤더는 응답의 예상 데이터 유형을 브라우저에 알립니다. 귀하의 경우 응답이 "image/jpeg" 유형의 이미지임을 지정해야 합니다.

인라인 Base64 인코딩(제한된 이미지에 권장)

의 경우 이미지 수가 적은 경우 인라인 base64 인코딩을 활용할 수 있습니다. 구현 방법은 다음과 같습니다.

echo '<dt><strong>Technician Image:</strong></dt><dd>'
     . '<img src="data:image/jpeg;base64,' . base64_encode($row2['image']) . '" width="290" height="290">'
     . '</dd>';
로그인 후 복사

이미지 PHP 파일 만들기(이미지가 많은 경우 권장)

표시할 이미지 수가 많은 경우, 더 나은 접근 방식은 이미지 검색 및 출력을 처리하는 별도의 PHP 파일을 만드는 것입니다. HTML 및 PHP 파일은 다음과 같습니다.

HTML:

<img src="image.php?id=<?php echo $image_id; ?>" />
로그인 후 복사

PHP:

<?php
$id = (isset($_GET['id']) &amp;&amp; is_numeric($_GET['id'])) ? intval($_GET['id']) : 0;
$image = getImageFromDatabase($id); // your code to fetch the image

header('Content-Type: image/jpeg');
echo $image;
?>
로그인 후 복사

"Content-Type" 헤더를 올바르게 지정하면 브라우저에 데이터를 이미지로 렌더링하도록 지시하여 문제를 해결할 수 있습니다. 디스플레이 문제입니다.

위 내용은 PHP에서 MySQL 데이터베이스의 BLOB 이미지를 표시하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿