MySQL BLOB에 저장된 이미지를 표시하는 경우
제공된 PHP를 사용하여 MySQL 데이터베이스에 BLOB으로 저장된 이미지를 표시하려고 하는 경우 코드에서 이미지 전후에 텍스트나 콘텐츠를 출력하면 표시 오류가 발생하는 문제가 사용자에게 발생했습니다. 이 문서에서는 이 문제를 해결하고 이미지와 함께 추가 요소를 표시하는 솔루션을 제시합니다.
원본 코드:
<code class="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();</code>
페이지에서 직접 이미지 콘텐츠를 에코아웃하려고 시도하지만 오류가 발생합니다. 이전이나 이후에 다른 콘텐츠가 출력되면 문제가 발생합니다.
해결책
이 문제는 브라우저가 이미지 데이터 이외의 텍스트나 콘텐츠를 일부로 간주하기 때문에 발생합니다. 이미지. 이 문제를 해결하려면 이미지 데이터를 Base64로 변환하고 태그.
<code class="php">echo '<img src="data:image/jpeg;base64,' . base64_encode($row['imageContent']) . '" />'; echo 'Hello world.';</code>
이 솔루션은 이미지 데이터를 Base64로 변환하여 태그를 사용하면 이미지가 올바르게 표시되는 동시에 페이지에 추가 콘텐츠의 출력도 허용됩니다.
참고: 이 접근 방식은 작동하지만 성능과 캐싱에는 적합하지 않습니다. 캐싱 메커니즘이나 외부 이미지 서버를 사용하는 등 MySQL 데이터베이스에 BLOB으로 저장된 이미지를 표시하기 위한 대체 솔루션을 찾아보는 것이 좋습니다.
위 내용은 다른 콘텐츠와 함께 MySQL BLOB으로 저장된 이미지를 표시하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!