>  기사  >  백엔드 개발  >  추가 텍스트를 사용하여 PHP에서 MySQL BLOB 이미지를 표시할 때 임의의 문자가 나타나는 이유는 무엇입니까?

추가 텍스트를 사용하여 PHP에서 MySQL BLOB 이미지를 표시할 때 임의의 문자가 나타나는 이유는 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-10-21 06:23:02285검색

Why Do Random Characters Appear When Displaying MySQL BLOB Images in PHP with Additional Text?

PHP를 사용하여 MySQL BLOB에 저장된 이미지를 표시할 수 있는 문제

제공된 PHP 코드에서 이미지 앞이나 뒤에 추가 텍스트가 에코되면 사용자에게 문제가 발생할 수 있습니다. 이미지가 표시되는 대신 임의의 문자가 나타납니다.

설명:

주어진 솔루션에 따르면 이 동작은 브라우저가 이미지 전후에 에코된 텍스트를 잘못 해석하기 때문에 발생합니다. 이미지 데이터는 이미지 자체의 일부입니다. 이로 인해 오류가 발생하고 의도한 출력을 방해합니다.

해결책:

이미지와 추가 텍스트를 모두 올바르게 표시하려면 이미지 데이터를 Base64 형식으로 변환하고 삽입하세요. HTML img 태그 내에서:

<code class="php">echo '<img src="data:image/jpeg;base64,' . base64_encode( $row['imageContent'] ) . '" />';
echo 'Hello world.';</code>

추가 참고 사항:

이 접근 방식은 표시 문제를 해결하지만 데이터 URI를 사용하여 이미지를 삽입하면 단점:

  • 캐시할 수 없으므로 자주 사용하는 이미지에는 바람직하지 않습니다.
  • 느릴 수 있으며, 특히 모바일 장치에서는 느릴 수 있습니다.

참조 데이터 URI에 대한 자세한 내용은 caniuse 문서를 참조하세요.

위 내용은 추가 텍스트를 사용하여 PHP에서 MySQL BLOB 이미지를 표시할 때 임의의 문자가 나타나는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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