PHP에서 blob을 base64로 변환하는 방법

PHPz
풀어 주다: 2023-04-05 15:44:01
원래의
885명이 탐색했습니다.

실제 개발에서는 그림을 문자열 형식으로 변환하여 데이터베이스에 저장하는 등 일부 바이너리 스트림을 문자열 형식으로 변환해야 하는 경우가 있습니다. PHP에서는 blob 필드를 사용하여 바이너리 스트림을 저장할 수 있지만 때로는 웹 페이지에 표시하기 위해 blob 필드를 base64 인코딩으로 변환해야 할 때도 있습니다. 이 기사에서는 PHP에서 blob 필드를 base64 인코딩으로 변환하는 방법에 대해 설명합니다.

먼저 데이터베이스에서 blob 필드의 바이너리 데이터를 읽어야 합니다. PHP의 PDO 확장을 사용하여 데이터베이스를 작동할 수 있습니다. 다음은 간단한 샘플 코드입니다.

try {
  $dbh = new PDO("mysql:host=localhost;dbname=test", $user, $pass);
  $stmt = $dbh->prepare("SELECT image FROM images WHERE id = ?");
  $stmt->bindParam(1, $id);
  $stmt->execute();
  $image = $stmt->fetchColumn();
  $dbh = null;
} catch (PDOException $e) {
  print "Error!: " . $e->getMessage() . "<br/>";
  die();
}
로그인 후 복사

위 코드에서는 PDO 준비된 문을 사용하여 데이터베이스에서 ID가 $id인 레코드의 이미지 필드 데이터를 읽습니다. $image 변수는 바이너리 데이터 스트림을 보유합니다.

다음으로 바이너리 데이터 스트림을 base64 인코딩으로 변환해야 합니다. PHP에 내장된 base64_encode() 함수를 사용하면 이 기능을 구현할 수 있습니다. 다음은 샘플 코드입니다.

$base64_image = base64_encode($image);
로그인 후 복사

바이너리 데이터 스트림 $image를 base64 인코딩으로 변환하고 $base64_image 변수에 저장합니다.

마지막으로 웹페이지에서 base64로 인코딩된 이미지 데이터를 사용할 수 있습니다. 샘플 코드는 다음과 같습니다.

<img src="data:image/jpeg;base64,<?php echo $base64_image; ?>" alt="image" />
로그인 후 복사

위 코드는 브라우저에 이미지를 표시합니다. 그 중 data:image/jpeg;base64는 이미지의 인코딩 형식과 base64로 인코딩된 이미지 데이터를 나타냅니다.

개발 중에 위의 방법을 사용하여 blob 필드를 웹 페이지에 표시하기 위한 base64 인코딩으로 변환할 수 있습니다. 이렇게 하면 페이지를 열 때마다 서버에서 이미지를 다운로드할 필요가 없습니다. 동시에 서버 대역폭과 리소스도 절약할 수 있습니다.

위 내용은 PHP에서 blob을 base64로 변환하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿