>백엔드 개발 >PHP 튜토리얼 >MySQL에서 BLOB으로 저장된 이미지를 표시하려면 어떻게 해야 합니까?

MySQL에서 BLOB으로 저장된 이미지를 표시하려면 어떻게 해야 합니까?

Susan Sarandon
Susan Sarandon원래의
2024-11-29 07:51:14342검색

How Can I Display Images Stored as BLOBs in MySQL?

MySQL BLOB 열의 이미지 표시

MySQL 데이터베이스에 BLOB 데이터로 저장된 이미지를 표시하려는 과정에서 다음과 같은 문제를 겪었습니다. 바이너리 데이터를 실제 이미지로 표현하는 문제. 솔루션을 자세히 살펴보겠습니다.

해결책 1: 인라인 Base64 인코딩

소수의 이미지를 처리하는 경우 base64를 사용하여 인코딩할 수 있습니다. 이 접근 방식은 바이너리 데이터를 HTML에 직접 삽입할 수 있는 압축 문자열로 변환합니다.

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

해결책 2: PHP 프록시 파일

보다 효율적인 접근 방식 수많은 이미지의 경우 ID를 기반으로 데이터베이스에서 이미지를 검색하는 PHP 프록시 파일을 만드는 것입니다. 매개변수:

<img src="image.php?id=<?php echo $image_id; ?>" />
<?php
$id = (isset($_GET['id']) &amp;&amp; is_numeric($_GET['id'])) ? intval($_GET['id']) : 0;
$image = getImageFromDatabase($id);

header('Content-Type: image/jpeg');
echo $image;
?>

참고: 이러한 솔루션을 올바르게 구현하려면 서버 구성에서 이미지 파일의 MIME 유형이 image/jpeg로 설정되어 있는지 확인하세요.

위 내용은 MySQL에서 BLOB으로 저장된 이미지를 표시하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.