>백엔드 개발 >PHP 튜토리얼 >바이너리 데이터에서 재생성된 이미지를 PHP에서 직접 표시하는 방법은 무엇입니까?

바이너리 데이터에서 재생성된 이미지를 PHP에서 직접 표시하는 방법은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-11-09 13:56:02277검색

How to Display Recreated Images from Binary Data Directly in PHP?

PHP에서 바이너리 데이터에서 재생성된 이미지 표시

일반적인 작업에는 바이너리 데이터로 저장된 이미지를 검색하고 표시하는 작업이 포함됩니다. 이 프로세스를 최적화하려면 외부 저장소나 스크립트 없이 동일한 스크립트 내에서 이미지를 처리하고 표시하는 것이 바람직합니다.

해결책:

PHP는 데이터 URI를 사용하여 솔루션을 제공합니다. 이러한 URI는 바이너리 데이터를 HTML에 직접 포함하므로 외부 파일을 참조하지 않고도 표시할 수 있습니다.

데이터 URI의 구문은 다음과 같습니다.

data:[<MIME-type>][;charset="<encoding>"][;base64],<data>

위치:

  • MIME 유형: "image/png" 또는 "image/jpeg"와 같이 삽입되는 데이터 유형을 지정합니다.
  • charset: 일반적으로 데이터의 문자 인코딩을 지정하는 선택적 매개변수 "base64".
  • data: base64로 인코딩된 바이너리 데이터입니다.

바이너리 데이터를 처리하려면 gd_imagecreatefromstring()과 같은 적절한 PHP 함수를 사용하여 바이너리 스트림. 처리가 완료되면 imagepng() 또는 imagejpeg()를 사용하여 이미지를 다시 바이너리로 변환합니다.

마지막으로 base64_encode()를 사용하여 데이터를 base64로 인코딩합니다. 그러면 이 인코딩된 데이터를 HTML 이미지 태그의 소스로 사용할 수 있습니다.

<?php
function data_uri($binary_data, $mime_type)
{
  return 'data:' . $mime_type . ';base64,' . base64_encode($binary_data);
}

// Get binary data of image
$imagedata = get_binary_data();

// Process image
$processed_imagedata = process_image($binary_data);

// Display image using data URI
echo '<img src="' . data_uri($processed_imagedata, 'image/png') . '" alt="Processed Image">';
?>

위 내용은 바이너리 데이터에서 재생성된 이미지를 PHP에서 직접 표시하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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