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']) && is_numeric($_GET['id'])) ? intval($_GET['id']) : 0; $image = getImageFromDatabase($id); header('Content-Type: image/jpeg'); echo $image; ?>
참고: 이러한 솔루션을 올바르게 구현하려면 서버 구성에서 이미지 파일의 MIME 유형이 image/jpeg로 설정되어 있는지 확인하세요.
위 내용은 MySQL에서 BLOB으로 저장된 이미지를 표시하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!