집 >데이터 베이스 >MySQL 튜토리얼 >다른 출력이 있을 때 MySQL BLOB 이미지가 잘못 표시되는 이유는 무엇입니까?
MySQL BLOB 열의 이미지 표시 및 추가 출력 처리
아래 제공된 코드 샘플에서 BLOB 변수로 저장된 이미지는 MySQL 데이터베이스가 표시되고 있습니다. 그러나 이미지 전후에 추가 텍스트가 출력되면 잘못된 표시가 발생하는 경우가 있습니다.
<?php include("inc/library.php"); connectToDatabase(); $sql = "SELECT * FROM theBlogs WHERE ID = 1;"; $result = mysql_query($sql) or die(mysql_error()); $row = mysql_fetch_array($result); header("Content-type: image/jpeg"); echo $row['imageContent']; $db->close(); ?>
이 문제를 해결하려면 이미지 데이터가 다음과 같이 처리된다는 점을 이해해야 합니다. 바이너리 스트림. 이미지 전후에 텍스트를 출력하면 바이너리 데이터가 중단되고 표시 문제가 발생합니다.
해결책은 이미지 데이터를 base64 형식으로 변환하고 HTML 이미지 태그에 포함시키는 것입니다. 이 접근 방식을 사용하면 이미지 데이터를 다른 출력에서 분리할 수 있습니다.
echo '<img src="data:image/jpeg;base64,' . base64_encode( $row['imageContent'] ) . '" />'; echo 'Hello world.';
이 방법은 작동하지만 성능과 캐싱에는 적합하지 않습니다. 이미지 데이터를 보다 효율적으로 처리하려면 적절한 이미지 호스팅 서비스나 데이터베이스 캐싱 메커니즘을 사용하는 것이 좋습니다.
위 내용은 다른 출력이 있을 때 MySQL BLOB 이미지가 잘못 표시되는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!